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
Mxdc.h

Vedi anche

Stampa

Funzioni di escape della stampante

ExtEscape