estructura de MXDC_ESCAPE_HEADER_T
La estructura MXDC_ESCAPE_HEADER_T contiene el código de operación de una llamada a ExtEscape con MXDC_ESCAPE como parámetro nEscape . También proporciona los tamaños de los búferes de entrada y salida.
Sintaxis
typedef struct tagMxdcEscapeHeader {
ULONG cbInput;
ULONG cbOutput;
ULONG opCode;
} MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;
Miembros
-
cbInput
-
Tamaño del búfer de entrada que se pasará al parámetro lpszOutData de la función ExtEscape .
-
cbOutput
-
Tamaño del búfer de salida. Este es el mismo valor que el parámetro cbOutput de la función ExtEscape .
-
Opcode
-
Constante de código que indica a MXDC qué hacer.
Código de operaciones Descripción MXDCOP_GET_FILENAME Devuelve, en el parámetro lpszOutData de la función ExtEscape , ya sea la ruta de acceso completa del archivo de salida como una cadena terminada en cero o el tamaño de esa cadena. Vea la sección Comentarios. MXDCOP_PRINTTICKET_FIXED_DOC_SEQ Asocia un vale de impresión a una secuencia fija de documentos XPS. MXDCOP_PRINTTICKET_FIXED_DOC Asocia un vale de impresión a un documento XPS. MXDCOP_PRINTTICKET_FIXED_PAGE Asocia un vale de impresión a una página XPS. MXDCOP_SET_S0PAGE Envía el marcado XPS de la página actual a la salida. MXDCOP_SET_S0PAGE_RESOURCE Envía un recurso en la página, como una imagen o fuente, a la salida. MXDCOP_SET_XPSPASSTHRU_MODE Coloca el MXDC en un estado de paso a través, lo que permite a una aplicación escribir XPS directamente en el archivo de salida sin ningún procesamiento por parte del MXDC. De este modo, se puede escribir un documento completo o incluso una secuencia de documentos.
Comentarios
Antes de llamar a MXDC_ESCAPE,_applications debe comprobar primero que el controlador es MXDC llamando a ExtEscape con el escape GETTECHNOLOGY . Si el controlador es el MXDC, la función devuelve la cadena terminada en cero "http://schemas.microsoft.com/xps/2005/06".
Esta estructura siempre está al principio de los datos pasados a la función ExtEscape en su parámetro lpszInData .
Cuando opCode es MXDCOP_GET_FILENAME:
- El parámetro lpszInData de la función ExtEscape consta únicamente de la estructura MXDC_ESCAPE_HEADER_T .
- Obtenga el nombre de archivo de salida llamando a ExtEscape dos veces.
- La primera vez, pase 4 al parámetro cbOutput de ExtEscape. Establezca el parámetro lpszOutData para que apunte a cualquier 4 bytes de memoria asignado. El tamaño de la ruta de acceso completa del archivo se devolverá en el parámetro lpszOutData de ExtEscape.
- A continuación, vuelva a llamar a la función. Esta vez establece cbOutput y cbInput en 4+ DataSize. La ruta de acceso completa del archivo se devolverá en una estructura MxdcGetFileNameData .
Cuando opCode se MXDCOP_PRINTTICKET_FIXED_DOC_SEQ o MXDCOP_PRINTTICKET_FIXED_DOC:
- El parámetro lpszInData de la función ExtEscape consta de la estructura MXDC_ESCAPE_HEADER_T y una estructura MxdcPrintTicketPassthrough concatenada en una estructura MxdcPrintTicketEscape .
- La llamada a ExtEscape debe producirse entre una llamada a StartDoc y una llamada a EndDoc.
Cuando opCode está MXDCOP_PRINTTICKET_FIXED_PAGE:
- El parámetro lpszInData de la función ExtEscape consta de la estructura MXDC_ESCAPE_HEADER_T y una estructura MxdcPrintTicketPassthrough concatenada en una estructura MxdcPrintTicketEscape .
- La llamada a ExtEscape debe producirse entre una llamada a StartPage y una llamada a EndPage.
Cuando opCode es MXDCOP_SET_S0PAGE:
- El parámetro lpszInData de la función ExtEscape consta de la estructura MXDC_ESCAPE_HEADER_T y una estructura MxdcS0PageData concatenada en una estructura MxdcS0PagePassthroughEscape .
- La llamada a ExtEscape debe producirse entre una llamada a StartPage y una llamada a EndPage.
- La aplicación que realiza la llamada es responsable de validar el XML.
- El consumo de streaming es más eficaz si llama a ExtEscape con MXDCOP_SET_S0PAGE_RESOURCE como opCode para cada recurso de la página antes de llamarlo con MXDCOP_SET_S0PAGE.
Cuando opCode es MXDCOP_SET_S0PAGE_RESOURCE:
- El parámetro lpszInData de la función ExtEscape consta de la estructura MXDC_ESCAPE_HEADER_T y una estructura MxdcXpsS0PageResource concatenada en una estructura MxdcS0PageResourceEscape .
- La llamada a ExtEscape debe producirse entre una llamada a StartPage y una llamada a EndPage, pero puede haber varias llamadas entre las llamadas StartPage y EndPage .
- El consumo de streaming es más eficaz si llama a ExtEscape con MXDCOP_SET_S0PAGE_RESOURCE como opCode para cada recurso de la página antes de llamarlo con MXDCOP_SET_S0PAGE.
Cuando opCode está MXDCOP_SET_XPSPASSTHRU_MODE:
- El parámetro lpszInData de la función ExtEscape consta únicamente de la estructura MXDC_ESCAPE_HEADER_T .
- Esta llamada debe producirse antes de la llamada a StartDoc.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado |
|