Freigeben über


IXpsOMObjectFactory::CreatePackageFromStream-Methode (xpsobjectmodel.h)

Öffnet einen Stream, der ein XPS-Paket enthält, und gibt eine instanziierte XPS-Dokumentobjektstruktur zurück.

Syntax

HRESULT CreatePackageFromStream(
  [in]          IStream       *stream,
  [in]          BOOL          reuseObjects,
  [out, retval] IXpsOMPackage **package
);

Parameter

[in] stream

Der Stream, der ein XPS-Paket enthält.

[in] reuseObjects

Der boolesche Wert, der angibt, dass die Software versucht, die Dokumentobjektstruktur zu optimieren, indem Objekte freigegeben werden, die in allen Eigenschaften und untergeordneten Elementen identisch sind.

Wert Bedeutung
STIMMT
Die Software versucht, die Objektstruktur zu optimieren.
FALSE
Die Software versucht nicht, die Objektstruktur zu optimieren.

[out, retval] package

Ein Zeiger auf die neue IXpsOMPackage-Schnittstelle , die die resultierende XPS-Dokumentobjektstruktur enthält.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliche Werte sind unter anderem die Werte in der folgenden Tabelle. Informationen zu XPS-Dokument-API-Rückgabewerten, die in dieser Tabelle nicht aufgeführt sind, finden Sie unter XPS-Dokumentfehler.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_POINTER
stream oder package ist NULL.
 

Diese Methode ruft die Packaging-API auf. Informationen zu den Rückgabewerten der Verpackungs-API finden Sie unter Paketfehler.

Hinweise

Diese Methode überprüft nicht den Inhalt streambasierter Ressourcen, die aus dem Stream in die Objekte des XPS OM geladen werden. Stattdessen muss die Anwendung diese Ressourcen überprüfen, bevor sie sie verwendet.

Diese Methode deserialisiert die Dokumentseiten nicht. Das XPS-Paket wird nur bis zu den Seitenverweisteilen deserialisiert. Die tatsächlichen Seiten können nach Bedarf deserialisiert werden, indem die IXpsOMPageReference::GetPage-Methode aufgerufen wird. Da die Seiten beim Aufruf von GetPage nicht deserialisiert werden, kann diese Methode S_OK zurückgeben oder, wenn versucht wird, eine problematische Seite in einem XPS-Paket zu laden, einen Fehler zurückgibt.

Wenn Sie ein XPS OM direkt nach dem Lesen eines XPS-Pakets schreiben, kann ein Teil des ursprünglichen Inhalts verloren gehen oder geändert werden.

Einige der Änderungen, die in einem solchen Fall auftreten können, sind in der folgenden Tabelle aufgeführt:

Dokumentfeature Aktion
Digitale Signaturen Aus Dokument entfernt
DiscardControl-Teil Aus Dokument entfernt
Fremddokumentteile Aus Dokument entfernt
FixedPage-Markup Vom Original geändert
Ressourcenwörterbuchmarkup Vom Original geändert, wenn das Optimierungsflag festgelegt ist
 

Informationen zur Verwendung der IXpsOMPackage-Schnittstelle in einem Programm finden Sie unter Erstellen eines leeren XPS-OM.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile xpsobjectmodel.h

Weitere Informationen

Erstellen eines leeren XPS-OM

IXpsOMObjectFactory

IXpsOMPackage

Paketerstellungsfehler

XML Paper Specification

XPS-Dokumentfehler