Compartir a través de


función MXDC_ESCAPE

La función de escape de impresora MXDC_ESCAPE permite a las aplicaciones escribir documentos en un archivo o en una impresora en formato XML Paper Specification (XPS) mediante microsoft XPS Document Converter (MXDC).

Para realizar esta operación, llame a la función ExtEscape con los parámetros siguientes.

Sintaxis

int MXDC_ESCAPE(
    hdc,
    cbInput,
    lpszInData,
    cbOutput,
    lpszOutData
);

Parámetros

hdc

Identificador para el contexto del dispositivo de impresora.

cbInput

Tamaño, en bytes, de los datos a los que apunta el parámetro lpszInData .

lpszInData

Puntero a un búfer que contiene los datos de entrada, que siempre se almacenan en una de las estructuras siguientes.

**MxdcEscapeHeader**
**MxdcPrintTicketEscape**
**MxdcS0PagePassthroughEscape**
**MxdcS0PageResourceEscape**

Cada una de estas estructuras tiene un miembro opcode que especifica lo que se supone que debe hacer el MXDC. Consulte MxdcEscapeHeader para obtener comentarios detallados sobre estos códigos.

Código de operaciones (código de operación) Acción
MXDCOP_GET_FILENAME
Establece el parámetro lpszOutData de la función ExtEscape en, ya sea la ruta de acceso completa del archivo de salida como una cadena terminada en cero o, de lo contrario, el tamaño de esa cadena.
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.

cbOutput

Tamaño, en bytes, de los datos a los que apunta el parámetro lpszOutData .

lpszOutData

Puntero a un búfer que contiene los datos de salida.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es mayor que cero. Si se produce un error en la función o no se admite, el valor devuelto es menor o igual que cero.

Observaciones

Este escape es compatible con MXDC y XPSDrv, pero no con GDI.

Para determinar si el controlador de impresora es MXDC, llame a ExtEscape con el escape GETTECHNOLOGY . Si el controlador es el MXDC, ExtEscape devolverá la cadena terminada en cero, "http://schemas.microsoft.com/xps/2005/06". Asegúrese de que el búfer al que hace referencia el parámetro lpszOutData es lo suficientemente grande como para contener esta cadena.

Para determinar si el controlador de impresora es el controlador De escritura de documentos de Microsoft XPS de Windows, confirme que el controlador de impresora es MXDC y, a continuación, determine si el nombre del controlador de impresora es "Microsoft XPS Document Writer".

Para obtener el nombre del controlador de impresora, use una de las técnicas siguientes.

Llame a GetPrinterDriver con el valor del parámetro Level establecido en 1. El nombre del controlador de impresora se devuelve en el miembro pName de la estructura DRIVER_INFO_1 .
or
Llame a GetPrinter con el valor del parámetro Level establecido en 2. El nombre del controlador de impresora se devuelve en el miembro pDriverName de la estructura PRINTER_INFO_2 .

En la tabla siguiente se muestra dónde encontrar varios objetos en el archivo XPS varios tipos de objetos se escribirán.

Object Ubicación en el archivo de salida
Página fija /Documents/1/Pages/Esc%d.fpage
Miniatura /Documents/1/Metadata
Imprimir vale /Documents/1/Metadata
Fuente /Documents/1/Resources/Fonts
Imagen /Documents/1/Resources/Images

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

Consulte también

Impresión

Funciones de escape de impresora

ExtEscape