Partager via


Utilisation des interfaces IXpsOMDocumentSequence

Cette rubrique explique comment utiliser les interfaces qui fournissent l’accès à FixedDocumentSequence, qui est le niveau supérieur de la hiérarchie de documents dans un modèle d’exploitation XPS.

Nom de l’interface Interfaces enfant logiques Description
IXpsOMDocumentSequence
IXpsOMDocument
Regroupe un ensemble de FixedDocuments dans une liste ordonnée.
IXpsOMDocumentCollection
None
Collection de FixedDocuments dans une séquence de documents XPS.

Exemple de code

L’exemple de code suivant obtient un pointeur vers l’interface IXpsOMDocumentSequence qui contient la séquence de document du modèle de gestion XPS représenté par xpsPackage. L’exemple énumère ensuite les documents de la collection.

    HRESULT                         hr = S_OK;

    IXpsOMDocumentSequence          *docSeq;
    IXpsOMDocumentCollection        *docs;
    IXpsOMDocument                  *doc;

    UINT32  numDocs = 0;
    UINT32  thisDoc = 0;

    // get the fixed document sequence of the package
    hr = xpsPackage->GetDocumentSequence(&docSeq);

    // get the collection of fixed documents in 
    //  the fixed document sequence
    hr = docSeq->GetDocuments(&docs);

    // walk the collection of documents;
    hr = docs->GetCount(&numDocs);
    thisDoc = 0;
    while (thisDoc < numDocs) {
        hr = docs->GetAt(thisDoc, &doc);
 
        // use this doc for something

        // release this doc and then go to the next one
        doc->Release();
        thisDoc++;
    }
    // release the document collection and
    // the document sequence
    docs->Release();
    docSeq->Release();