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 Datei oder dem Gerät, das dem zurückgegebenen Handle zugeordnet ist, ein Standardsicherheitsdeskriptor zugewiesen.

Weitere Informationen zu securityAttributes finden 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
STIMMT
Der Paketschreiber versucht, das Markup für die Mindestgröße zu optimieren.
FALSE
Der Paketschreiber versucht nicht, eine Optimierung durchzuführen.

[in] interleaving

Gibt an, ob der Inhalt des XPS-OM verschachtelt wird, wenn er in die Datei geschrieben wird.

[in] documentSequencePartName

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

[in] coreProperties

Die IXpsOMCoreProperties-Schnittstelle , die die wichtigsten 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 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
filename, documentSequencePartName oder packageWriter ist NULL.
XPS_E_NO_CUSTOM_OBJECTS
coreProperties, documentSequencePrintTicket oder 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 Paketfehler.

Hinweise

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

Wenn documentSequencePrintTicket auf NULL festgelegt ist und der Wert der VerschachtelungXPS_INTERLEAVING_ON ist, erstellt diese Methode ein leeres Druckticket auf Auftragsebene und fügt eine Beziehung zum leeren Druckticket hinzu. Dies geschieht, um eine effizientere Streamingnutzung des Pakets zu ermöglichen.

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

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

CreateFile

IXpsOMCoreProperties

IXpsOMImageResource

IXpsOMObjectFactory

IXpsOMPackageWriter

IXpsOMPrintTicketResource

Paketerstellungsfehler

SECURITY_ATTRIBUTES

XML Paper Specification

XPS-Dokumentfehler