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.
    1. 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.
    2. 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:

Quando opCode è MXDCOP_PRINTTICKET_FIXED_PAGE:

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:

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

Vedi anche

Stampa

Stampare strutture API Spooler

Funzioni di escape della stampante GDI

ExtEscape

MXDC_ESCAPE