struttura MXDC_ESCAPE_HEADER_T
La struttura MXDC_ESCAPE_HEADER_T contiene il codice dell'operazione per una chiamata a ExtEscape con MXDC_ESCAPE come parametro nEscape . Fornisce anche le dimensioni dei buffer di input e output.
Sintassi
typedef struct tagMxdcEscapeHeader {
ULONG cbInput;
ULONG cbOutput;
ULONG opCode;
} MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;
Members
-
cbInput
-
Dimensioni del buffer di input che verranno passate al parametro lpszOutData della funzione ExtEscape .
-
cbOutput
-
Dimensione del buffer di output. Si tratta dello stesso valore del parametro cbOutput della funzione ExtEscape .
-
Opcode
-
Costante di codice che indica a MXDC cosa fare.
Codice delle operazioni Descrizione MXDCOP_GET_FILENAME Restituisce, nel parametro lpszOutData della funzione ExtEscape , il percorso completo del file di output come stringa con terminazione zero o le dimensioni di tale stringa. Vedere la sezione Osservazioni. 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 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.
Commenti
Prima di chiamare MXDC_ESCAPE, _applications deve prima verificare che il driver sia MXDC chiamando ExtEscape con l'escape GETTECHNOLOGY . Se il driver è MXDC, la funzione restituisce la stringa con terminazione zero "http://schemas.microsoft.com/xps/2005/06".
Questa struttura è sempre all'inizio dei dati passati alla funzione ExtEscape nel parametro lpszInData .
Quando opCode è MXDCOP_GET_FILENAME:
- Il parametro lpszInData della funzione ExtEscape è costituito solo dalla struttura MXDC_ESCAPE_HEADER_T .
- Ottenere il nome file di output chiamando ExtEscape due volte.
- La prima volta, passare 4 al parametro cbOutput di ExtEscape. Impostare il parametro lpszOutData per puntare a qualsiasi byte di memoria allocata di 4 byte. Le dimensioni del percorso del file completo verranno restituite nel parametro lpszOutData di ExtEscape.
- Chiamare di nuovo la funzione. Questa volta impostare sia cbOutput che cbInput su 4+ DataSize. Il percorso del file completo verrà restituito in una struttura MxdcGetFileNameData .
Quando opCode è MXDCOP_PRINTTICKET_FIXED_DOC_SEQ o MXDCOP_PRINTTICKET_FIXED_DOC:
- Il parametro lpszInData della funzione ExtEscape è costituito dalla struttura MXDC_ESCAPE_HEADER_T e da una struttura MxdcPrintTicketPass through concatenata in una struttura MxdcPrintTicketEscape .
- La chiamata a ExtEscape deve verificarsi tra una chiamata a StartDoc e una chiamata a EndDoc.
Quando opCode è MXDCOP_PRINTTICKET_FIXED_PAGE:
- Il parametro lpszInData della funzione ExtEscape è costituito dalla struttura MXDC_ESCAPE_HEADER_T e da una struttura MxdcPrintTicketPass through concatenata in una struttura MxdcPrintTicketEscape .
- La chiamata a ExtEscape deve verificarsi tra una chiamata a StartPage e una chiamata a EndPage.
Quando opCode è MXDCOP_SET_S0PAGE:
- Il parametro lpszInData della funzione ExtEscape è costituito dalla struttura MXDC_ESCAPE_HEADER_T e da una struttura MxdcS0PageData concatenata in una struttura MxdcS0PagePass throughEscape .
- La chiamata a ExtEscape deve verificarsi tra una chiamata a StartPage e una chiamata a EndPage.
- L'applicazione chiamante è responsabile della convalida del codice XML.
- L'utilizzo di streaming è più efficiente se si chiama ExtEscape con MXDCOP_SET_S0PAGE_RESOURCE come opCode per ogni risorsa nella pagina prima di chiamarla con MXDCOP_SET_S0PAGE.
Quando opCode è MXDCOP_SET_S0PAGE_RESOURCE:
- Il parametro lpszInData della funzione ExtEscape è costituito dalla struttura MXDC_ESCAPE_HEADER_T e da una struttura MxdcXpsS0PageResource concatenata in una struttura MxdcS0PageResourceEscape.
- La chiamata a ExtEscape deve verificarsi tra una chiamata a StartPage e una chiamata a EndPage, ma possono essere presenti più chiamate tra le chiamate StartPage e EndPage.
- L'utilizzo di streaming è più efficiente se si chiama ExtEscape con MXDCOP_SET_S0PAGE_RESOURCE come opCode per ogni risorsa nella pagina prima di chiamarla con MXDCOP_SET_S0PAGE.
Quando opCode è MXDCOP_SET_XPSPASSTHRU_MODE:
- Il parametro lpszInData della funzione ExtEscape è costituito solo dalla struttura MXDC_ESCAPE_HEADER_T .
- Questa chiamata deve verificarsi prima della chiamata a StartDoc.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista [solo app desktop] |
Server minimo supportato |
Windows Server 2008 [solo app desktop] |
Intestazione |
|