Condividi tramite


Metodo IXpsOMObjectFactory::CreatePackageWriterOnFile (xpsobjectmodel.h)

Apre un file per scrivere il contenuto di un file XPS OM in un pacchetto XPS.

Sintassi

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

Parametri

[in] fileName

Nome del file da creare.

[in] securityAttributes

Struttura SECURITY_ATTRIBUTES , che contiene due membri separati ma correlati:

  • lpSecurityDescriptor: descrittore di sicurezza facoltativo
  • bInheritHandle: valore booleano che determina se l'handle restituito può essere ereditato dai processi figlio
Se lpSecurityDescriptor è NULL, al file o al dispositivo associato all'handle restituito viene assegnato un descrittore di sicurezza predefinito.

Per altre informazioni su securityAttributes, vedere CreateFile.

[in] flagsAndAttributes

Specifica le impostazioni e gli attributi del file da creare. Per la maggior parte dei file, è possibile usare il valore FILE_ATTRIBUTE_NORMAL .

Per altre informazioni su questo parametro, vedere CreateFile .

[in] optimizeMarkupSize

Valore booleano che indica se il markup del documento verrà ottimizzato per le dimensioni quando il contenuto del file XPS OM viene scritto nel pacchetto XPS.

Valore Significato
VERO
Il writer di pacchetti tenterà di ottimizzare il markup per le dimensioni minime.
FALSE
Il writer di pacchetti non tenterà di eseguire alcuna ottimizzazione.

[in] interleaving

Specifica se il contenuto di XPS OM verrà interleavedato quando viene scritto nel file.

[in] documentSequencePartName

Interfaccia IOpcPartUri che contiene il nome della parte della sequenza di documento nel nuovo file.

[in] coreProperties

Interfaccia IXpsOMCoreProperties che contiene le proprietà principali del documento da assegnare al nuovo file. Questo parametro può essere impostato su NULL.

[in] packageThumbnail

Interfaccia IXpsOMImageResource che contiene l'immagine di anteprima da assegnare al nuovo file. Questo parametro può essere impostato su NULL.

[in] documentSequencePrintTicket

Interfaccia IXpsOMPrintTicketResource che contiene il ticket di stampa a livello di pacchetto da assegnare al nuovo file. Questo parametro può essere impostato su NULL.

[in] discardControlPartName

Interfaccia IOpcPartUri che contiene il nome della parte del controllo discard. Questo parametro può essere impostato su NULL.

[out, retval] packageWriter

Puntatore alla nuova interfaccia IXpsOMPackageWriter creata da questo metodo.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non solo, quelli nella tabella che segue. Per informazioni sui valori restituiti dell'API documento XPS non elencati in questa tabella, vedere Errori del documento XPS.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_POINTER
filename, documentSequencePartName o packageWriter è NULL.
XPS_E_NO_CUSTOM_OBJECTS
coreProperties, documentSequencePrintTicket o packageThumbnail non punta a un'implementazione dell'interfaccia riconosciuta. L'implementazione personalizzata delle interfacce API documento XPS non è supportata.
 

Questo metodo chiama l'API di creazione pacchetti . Per informazioni sui valori restituiti dell'API per la creazione di pacchetti, vedere Errori di creazione di pacchetti.

Commenti

Il file viene aperto e inizializzato e l'interfaccia IXpsOMPackageWriter restituita viene quindi utilizzata per scrivere tipi di contenuto, relazioni tra pacchetti, proprietà principali, risorse della sequenza di documenti e relazioni tra sequenze di documenti.

Se documentSequencePrintTicket è impostato su NULL e il valore di interleaving è XPS_INTERLEAVING_ON, questo metodo crea un ticket di stampa vuoto a livello di processo e aggiunge una relazione al ticket di stampa vuoto. Questa operazione viene eseguita per offrire un consumo di streaming più efficiente del pacchetto.

Se documentSequencePrintTicket è impostato su NULL e il valore di interleaving è XPS_INTERLEAVING_OFF, non viene creato alcun ticket di stampa vuoto.

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione xpsobjectmodel.h

Vedi anche

CreateFile

IXpsOMCoreProperties

IXpsOMImageResource

IXpsOMObjectFactory

IXpsOMPackageWriter

IXpsOMPrintTicketResource

Errori di creazione pacchetti

SECURITY_ATTRIBUTES

XML Paper Specification

Errori del documento XPS