funzione MXDC_ESCAPE
La funzione di escape della stampante MXDC_ESCAPE consente alle applicazioni di scrivere documenti in un file o in una stampante in formato XPS (XML Paper Specification) tramite Microsoft XPS Document Converter (MXDC).
Per eseguire questa operazione, chiamare la funzione ExtEscape con i parametri seguenti.
Sintassi
int MXDC_ESCAPE(
hdc,
cbInput,
lpszInData,
cbOutput,
lpszOutData
);
Parametri
-
Hdc
-
Handle per il contesto del dispositivo della stampante.
-
cbInput
-
Dimensione, in byte, dei dati a cui punta il parametro lpszInData .
-
lpszInData
-
Puntatore a un buffer contenente i dati di input, che viene sempre archiviato in una delle strutture seguenti.
- **MxdcEscapeHeader**
- **MxdcPrintTicketEscape**
- **MxdcS0PagePassthroughEscape**
- **MxdcS0PageResourceEscape**
Ognuna di queste strutture ha un membro opcode che specifica le operazioni che deve essere eseguite dal data center MXDC. Per informazioni dettagliate su questi codici, vedere MxdcEscapeHeader.
Codice operativo (opcode) Azione - MXDCOP_GET_FILENAME
Imposta il parametro lpszOutData della funzione ExtEscape su , ovvero il percorso completo del file di output come stringa con terminazione zero oppure le dimensioni di tale stringa. - MXDCOP_PRINTTICKET_FIXED_DOC_SEQ
Associa un ticket di stampa a una sequenza di documenti fissa XPS. - MXDCOP_PRINTTICKET_FIXED_DOC
Associa un ticket di stampa a un documento XPS. - MXDCOP_PRINTTICKET_FIXED_PAGE
Associa un ticket di stampa a una pagina XPS. - MXDCOP_SET_S0PAGE
Invia il markup XPS della pagina corrente all'output. - MXDCOP_SET_S0PAGE_RESOURCE
Invia una risorsa nella pagina, ad esempio un'immagine o un tipo di carattere, all'output. - MXDCOP_SET_XPSPASSTHRU_MODE
Inserisce MXDC in uno stato pass-through, consentendo a un'applicazione di scrivere XPS direttamente nel file di output senza alcuna elaborazione da parte di MXDC. Un intero documento o anche una sequenza di documenti può essere scritto in questo modo. -
cbOutput
-
Dimensione, in byte, dei dati a cui punta il parametro lpszOutData .
-
lpszOutData
-
Puntatore a un buffer contenente i dati di output.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è maggiore di zero. Se la funzione ha esito negativo o non è supportata, il valore restituito è minore o uguale a zero.
Commenti
Questo escape è supportato da MXDC e XPSDrv, ma non da GDI.
Per determinare se il driver della stampante è MXDC, chiamare ExtEscape con l'escape GETTECHNOLOGY . Se il driver è MXDC, ExtEscape restituirà la stringa con terminazione zero, "http://schemas.microsoft.com/xps/2005/06". Assicurarsi che il buffer a cui fa riferimento il parametro lpszOutData sia sufficientemente grande da contenere questa stringa.
Per determinare se il driver della stampante è il driver Microsoft XPS Document Writer di Microsoft XPS, verificare che il driver della stampante sia MXDC e quindi determinare se il nome del driver della stampante è "Microsoft XPS Document Writer".
Per ottenere il nome del driver della stampante, usare una delle tecniche seguenti.
- Chiamare GetPrinterDriver con il valore del parametro Level impostato su 1. Il nome del driver della stampante viene restituito nel membro pName della struttura DRIVER_INFO_1 .
oppure
Chiamare GetPrinter con il valore del parametro Level impostato su 2. Il nome del driver della stampante viene restituito nel membro pDriverName della struttura PRINTER_INFO_2 .
Nella tabella seguente viene illustrato dove trovare vari oggetti nel file XPS verranno scritti vari tipi di oggetti.
Oggetto | Percorso nel file di output |
---|---|
Pagina fissa | /Documents/1/Pages/Esc%d.fpage |
Anteprima | /Documents/1/Metadata |
Stampa ticket | /Documents/1/Metadata |
Carattere | /Documents/1/Resources/Fonts |
Immagine | /Documents/1/Resources/Images |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista [solo app desktop] |
Server minimo supportato |
Windows Server 2008 [solo app desktop] |
Intestazione |
|