Dela via


Arbeta med IXpsOMDocumentSequence Interfaces

Det här avsnittet beskriver hur du använder de gränssnitt som ger åtkomst till FixedDocumentSequence, som är den översta nivån i dokumenthierarkin i en XPS OM.

Gränssnittsnamn Logiska barngrundsnitt Beskrivning
IXpsOMDocumentSequence
IXpsOMDocument
Grupperar en uppsättning FixedDocuments i en ordnad lista.
IXpsOMDocumentCollection
Ingen
Samlingen av Fasta Dokument i en XPS-dokumentsekvens.

Kodexempel

I följande kodexempel fås en pekare till IXpsOMDocumentSequence-gränssnittet som innehåller dokumentsekvensen för XPS OM som representeras av xpsPackage. Exemplet räknar sedan upp dokumenten i samlingen.

    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();