Freigeben über


IXpsOMObjectFactory::CreatePackageWriterOnFile-Methode (xpsobjectmodel.h)

Öffnet eine Datei zum Schreiben des Inhalts eines XPS-OM in ein XPS-Paket.

Syntax

HRESULT CreatePackageWriterOnFile(
  [in]          LPCWSTR                   fileName,
  [in]          LPSECURITY_ATTRIBUTES     securityAttributes,
  [in]          DWORD                     flagsAndAttributes,
  [in]          BOOL                      optimizeMarkupSize,
  [in]          XPS_INTERLEAVING          interleaving,
  [in]          IOpcPartUri               *documentSequencePartName,
  [in]          IXpsOMCoreProperties      *coreProperties,
  [in]          IXpsOMImageResource       *packageThumbnail,
  [in]          IXpsOMPrintTicketResource *documentSequencePrintTicket,
  [in]          IOpcPartUri               *discardControlPartName,
  [out, retval] IXpsOMPackageWriter       **packageWriter
);

Parameter

[in] fileName

Der Name der zu erstellenden Datei.

[in] securityAttributes

Die SECURITY_ATTRIBUTES-Struktur, die zwei separate, aber verwandte Elemente enthält:

  • lpSecurityDescriptor-: ein optionaler Sicherheitsdeskriptor
  • bInheritHandle: ein boolescher Wert, der bestimmt, ob das zurückgegebene Handle von untergeordneten Prozessen geerbt werden kann.
Wenn lpSecurityDescriptorNULL-ist, wird der dem zurückgegebenen Handle zugeordnete Datei oder das dem zurückgegebenen Handle zugeordnete Gerät einem Standardsicherheitsdeskriptor zugewiesen.

Weitere Informationen zu securityAttributesfinden Sie unter CreateFile-.

[in] flagsAndAttributes

Gibt die Einstellungen und Attribute der zu erstellenden Datei an. Für die meisten Dateien kann der FILE_ATTRIBUTE_NORMAL Wert verwendet werden.

Weitere Informationen zu diesem Parameter finden Sie unter CreateFile-.

[in] optimizeMarkupSize

Ein boolescher Wert, der angibt, ob das Dokumentmarkup für die Größe optimiert wird, wenn der Inhalt des XPS-OM in das XPS-Paket geschrieben wird.

Wert Bedeutung
TRUE-
Der Paketschreiber versucht, das Markup für die Mindestgröße zu optimieren.
FALSE-
Der Paket-Writer versucht nicht, eine Optimierung durchzuführen.

[in] interleaving

Gibt an, ob der Inhalt des XPS-OM beim Schreiben in die Datei interleaviert wird.

[in] documentSequencePartName

Die IOpcPartUri Schnittstelle, die den Teilnamen der Dokumentsequenz in der neuen Datei enthält.

[in] coreProperties

Die IXpsOMCoreProperties Schnittstelle, die die grundlegenden Dokumenteigenschaften enthält, die der neuen Datei zugewiesen werden sollen. Dieser Parameter kann auf NULL-festgelegt werden.

[in] packageThumbnail

Die IXpsOMImageResource Schnittstelle, die das Miniaturbild enthält, das der neuen Datei zugewiesen werden soll. Dieser Parameter kann auf NULL-festgelegt werden.

[in] documentSequencePrintTicket

Die IXpsOMPrintTicketResource Schnittstelle, die das Druckticket auf Paketebene enthält, das der neuen Datei zugewiesen werden soll. Dieser Parameter kann auf NULL-festgelegt werden.

[in] discardControlPartName

Die IOpcPartUri Schnittstelle, die den Namen des Verwerfen-Steuerelementteils enthält. Dieser Parameter kann auf NULL-festgelegt werden.

[out, retval] packageWriter

Ein Zeiger auf die neue IXpsOMPackageWriter Schnittstelle, die von dieser Methode erstellt wurde.

Rückgabewert

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

Rückgabecode Beschreibung
S_OK
Die Methode war erfolgreich.
E_POINTER
Dateinamen, documentSequencePartNameoder packageWriter ist NULL.
XPS_E_NO_CUSTOM_OBJECTS
coreProperties, documentSequencePrintTicketoder packageThumbnail verweist nicht auf eine erkannte Schnittstellenimplementierung. Die benutzerdefinierte Implementierung von XPS-Dokument-API-Schnittstellen wird nicht unterstützt.
 

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

Bemerkungen

Die Datei wird geöffnet und initialisiert, und die IXpsOMPackageWriter Schnittstelle, die zurückgegeben wird, wird dann verwendet, um Inhaltstypen, Paketbeziehungen, Kerneigenschaften, Dokumentsequenzressourcen und Dokumentsequenzbeziehungen zu schreiben.

Wenn documentSequencePrintTicket auf NULL- festgelegt ist und der Wert der interleavingXPS_INTERLEAVING_ONist, erstellt diese Methode ein leeres Druckticket auf Auftragsebene und fügt dem leeren Druckticket eine Beziehung hinzu. Dies geschieht, um einen effizienteren Streaming-Verbrauch des Pakets zu ermöglichen.

Wenn documentSequencePrintTicket auf NULL- festgelegt ist und der Wert der interleavingXPS_INTERLEAVING_OFFist, wird kein leeres Druckticket erstellt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- xpsobjectmodel.h

Siehe auch

CreateFile-

IXpsOMCoreProperties

IXpsOMImageResource-

IXpsOMObjectFactory-

IXpsOMPackageWriter

IXpsOMPrintTicketResource-

SECURITY_ATTRIBUTES

XML Paper Specification

XPS-Dokumentfehler