Método IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode (prcomoem.h)

El método IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode convierte un vale de impresión en una estructura DEVMODEW .

Sintaxis

HRESULT ConvertPrintTicketToDevMode(
  [in]      IXMLDOMDocument2 *pPrintTicket,
  [in]      ULONG            cbDevmode,
  [in, out] PDEVMODE         pDevmode,
  [in]      ULONG            cbDrvPrivateSize,
  [in]      PVOID            pPrivateDevmode
);

Parámetros

[in] pPrintTicket

Puntero al vale de impresión de entrada.

[in] cbDevmode

Tamaño, en bytes, de la estructura DEVMODEW de entrada. Este tamaño incluye las secciones públicas y privadas de la estructura DEVMODEW.

[in, out] pDevmode

Puntero a la estructura DEVMODEW de entrada. Cuando se devuelve IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode , la estructura DEVMODEW privada del complemento contendrá información obtenida del vale de impresión.

[in] cbDrvPrivateSize

Tamaño, en bytes, de la estructura DEVMODEW privada del complemento.

[in] pPrivateDevmode

Puntero a la estructura DEVMODEW privada del complemento.

Valor devuelto

IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode debe devolver S_OK si la operación se realiza correctamente. De lo contrario, este método debe devolver un código de error COM estándar.

Comentarios

El controlador principal llama al método IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode antes de realizar su parte de la conversión de un vale de impresión a una estructura DEVMODEW . En la llamada a este método, el controlador principal pasa un vale de impresión de entrada que está completamente rellenado y una estructura DEVMODEW establecida en valores predeterminados. En la conversión, el complemento debe deshacer los cambios realizados en el vale de impresión durante la conversión anterior de una estructura DEVMODEW a un vale de impresión. Si, durante esta conversión anterior, el complemento movió una característica de un espacio de nombres privado al espacio de nombres público, el complemento debe restaurar la característica al espacio de nombres privado en un formato adecuado para el controlador principal, es decir, el formato en el que el controlador principal había colocado previamente la característica en el vale de impresión que se proporcionó al complemento en el IPrintOemPrintTicketProvider:: Método ConvertDevModeToPrintTicket . Esta restauración es necesaria para que el controlador principal pueda reconocer la característica en el vale de impresión y reflejar su configuración en una parte privada de la estructura DEVMODEW del controlador principal, mientras que el controlador principal realiza su parte de la conversión del vale de impresión a DEVMODEW .

Antes de que el sistema convierta un vale de impresión en una estructura DEVMODEW , primero carga la estructura DEVMODEW predeterminada. A continuación, el sistema llama al método IPrintOemPrintTicketProvider::BindPrinter del proveedor. A continuación, este método debe leer toda la configuración que admitía desde el vale de impresión y rellenar esos valores en la estructura DEVMODEW. Tenga en cuenta que no todas las características necesariamente se representarán y que, a menudo, las instancias de Option que están presentes podrían no contener todas las instancias de propiedad puntuada que normalmente rellenaría el proveedor. Si el proveedor realiza cambios en la configuración que rellena el sistema durante la conversión del vale de impresión a DEVMODEW, el proveedor debe realizar la inversa de ese cambio en el método IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode . Después de que el proveedor vuelva, el sistema sobrescribe las configuraciones públicas de DEVMODEW que se representan en el vale de impresión, pero que el proveedor no deshabilita explícitamente.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado prcomoem.h (include Prcomoem.h)

Consulte también

IPrintOemPrintTicketProvider

IPrintOemPrintTicketProvider::ConvertDevModeToPrintTicket