Compartir a través de


Método IPrintOemPS::Command (prcomoem.h)

El método IPrintOemPS::Command se usa mediante la representación de complementos para el controlador de impresora De Microsoft PostScript, con el fin de insertar comandos PostScript en el flujo de datos del trabajo de impresión.

Sintaxis

HRESULT Command(
        PDEVOBJ   pdevobj,
        DWORD     dwIndex,
        PVOID     pData,
        DWORD     cbSize,
  [out] OUT DWORD *pdwResult
);

Parámetros

pdevobj

Puntero proporcionado por el autor de la llamada a una estructura DEVOBJ.

dwIndex

Valor proporcionado por el autor de la llamada que representa el punto de inyección actual dentro del flujo de datos del trabajo de impresión. Para obtener más información, vea la siguiente sección Comentarios.

pData

No se usa.

cbSize

No se usa.

[out] pdwResult

Recibe un valor proporcionado por el método que indica el resultado de la operación de inserción. Si la inserción se realiza correctamente, este valor debe ser ERROR_SUCCESS. Si se produce un error en la inserción, el valor debe ser uno de los códigos de error definidos en winerror.h. Si el método no intenta insertar datos para un valor de dwIndex especificado, el valor debe ser ERROR_NOT_SUPPORTED.

Valor devuelto

El método debe devolver uno de los valores siguientes.

Código devuelto Descripción
S_OK
La operación se realizó correctamente.
E_FAIL
Error en la operación
E_NOTIMPL
El método no se implementa.

Observaciones

El método IPrintOemPS::Command se usa para insertar comandos PostScript en el flujo de datos generado por el controlador de impresora de Microsoft PostScript . Si desea proporcionar este método, debe definirlo en un complemento de representación.

Cuando se llama al método IPrintOemPS::Command, su parámetro dwIndex especifica el punto de inyección actual dentro del flujo de datos del trabajo de impresión. El método debe usar este valor para determinar qué operación, si existe, para realizar. Los valores de índice, que se definen en wingdi.h, se muestran en la tabla siguiente.

Valor de índice Cuando se recibe
PSINJECT_BEGINDEFAULTS Después de que el controlador de impresora envíe %%BeginDefaults al flujo de datos.
PSINJECT_BEGINPAGESETUP Después de que el controlador de impresora envíe %%BeginPageSetup al flujo de datos.
PSINJECT_BEGINPROLOG Después de que el controlador de impresora envíe %%BeginProlog al flujo de datos.
PSINJECT_BEGINSETUP Después de que el controlador de impresora envíe %%BeginSetup al flujo de datos.
PSINJECT_BEGINSTREAM Antes de que el controlador de impresora envíe el primer byte del flujo de datos.
PSINJECT_BOUNDINGBOX Cuando el controlador de impresora esté listo para insertar %%BoundingBox: en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el %%BoundingBoxdel controlador: comentario.
PSINJECT_COMMENTS Antes de que el controlador de impresora envíe %%EndComments al flujo de datos.
PSINJECT_DLFONT Antes de que el controlador de impresión descargue una fuente suave.
PSINJECT_DOCNEEDEDRES Después de que el controlador de impresora envíe %%DocumentNeededResources: al flujo de datos, junto con la información del recurso. Si el método IPrintOemPS::Command envía información de recursos, se anexa a la secuencia después de la información de recursos del controlador. El formato de entrada es el siguiente:

%%+ ResourceTypeResourceNames

El controlador de impresora envía %%DocumentNeededResources: después de enviar %%Trailer sección.

PSINJECT_DOCSUPPLIEDRES Después de que el controlador de impresora envíe %%DocumentSuppliedResources: al flujo de datos, junto con la información del recurso. Si el método IPrintOemPS::Command envía información de recursos, se anexa a la secuencia después de la información de recursos del controlador. El formato de entrada es el siguiente:

%%+ ResourceTypeResourceNames

El controlador de impresora envía %%DocumentSuppliedResources: después de enviar %%Trailer sección.

PSINJECT_DOCUMENTPROCESSCOLORS
Cuando el controlador de impresora esté listo para insertar %%DocumentProcessColors:color en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el %%DocumentProcessColorsdel controlador:color comentario.
PSINJECT_DOCUMENTPROCESSCOLORSATEND
Cuando el controlador de impresora esté listo para insertar %%DocumentProcessColors:(aend) en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el comentario de %%DocumentProcessColorsdel controlador:(aend).
PSINJECT_ENDDEFAULTS Antes de que el controlador de impresora envíe %%EndDefaults al flujo de datos.
PSINJECT_ENDPAGECOMMENTS Antes de que el controlador de impresora envíe %%EndPageComments al flujo de datos.
PSINJECT_ENDPAGESETUP Antes de que el controlador de impresora envíe %%EndPageSetup al flujo de datos.
PSINJECT_ENDPROLOG Antes de que el controlador de impresora envíe %%EndProlog al flujo de datos.
PSINJECT_ENDSETUP Antes de que el controlador de impresora envíe %%EndSetup al flujo de datos.
PSINJECT_ENDSTREAM Después de que el controlador de impresora envíe el último byte del flujo de datos.
PSINJECT_EOF Después de que el controlador de impresora envíe %%EOF al flujo de datos.
PSINJECT_ORIENTATION Cuando el controlador de impresora esté listo para insertar %%Orientation: en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el %%Orientationdel controlador: comentario.
PSINJECT_PAGEBBOX Cuando el controlador de impresora esté listo para insertar %%PageBoundingBox: en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el %%PageBoundingBoxdel controlador: comentario.
PSINJECT_PAGENUMBER Cuando el controlador de impresora esté listo para insertar %%Page: en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el %%Pagedel controlador: comentario.
PSINJECT_PAGEORDER Cuando el controlador de impresora esté listo para insertar %%PageOrder: en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el %%PageOrderdel controlador: comentario.
PSINJECT_PAGES Cuando el controlador de impresora esté listo para insertar %%Pages:nnn en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el %%Pagesdel controlador:nnn comentario.
PSINJECT_PAGESATEND Cuando el controlador de impresora esté listo para insertar %%Pages:(aend) en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el comentario de %%Pagesdel controlador:(aend).
PSINJECT_PAGETRAILER Después de que el controlador de impresora envíe %%PageTrailer al flujo de datos.
PSINJECT_PLATECOLOR Cuando el controlador de impresora esté listo para insertar %%PlateColor:color en el flujo de datos. Los datos proporcionados por IPrintOemPS::Command reemplazan el %%PlateColordel controlador:color comentario.
PSINJECT_PSADOBE Antes de que el controlador de impresora envíe %! PS-Adobe al flujo de datos.
PSINJECT_SHOWPAGE Antes de que el controlador de impresora envíe un comando showpage.
PSINJECT_TRAILER Después de que el controlador de impresora envíe %%Trailer al flujo de datos.
PSINJECT_VMRESTORE Después de que el controlador de impresora envíe un comando restore. (El método IPrintOemPS::Command debe volver a enviar todos los recursos que envió después del último PSINJECT_VMSAVE, si se van a reutilizar los recursos).
PSINJECT_VMSAVE Antes de que el controlador de impresora envíe un comando guardar. (Consulte PSINJECT_VMRESTORE).

El método IPrintOemPS::Command debe llamar a IPrintOemDriverPS::D rvWriteSpoolBuf para insertar los comandos PostScript.

Si métodos IPrintOemPS::Command se exportan mediante varios complementos de representación, se llama a los métodos en el orden en que se especifican los complementos para la instalación, cada vez que el controlador de impresora alcanza un punto de inyección. Se aplican las reglas siguientes:

  • Si el punto de inyección es uno para el que se anexan los datos proporcionados a los datos que proporciona el controlador de impresora, se llama a cada complemento y cada complemento puede anexar comandos PostScript.

  • Si el punto de inyección es uno para el que los datos proporcionados reemplazan los datos que proporciona el controlador de impresora, se llama a los complementos hasta que se llama a un método IPrintOemPS::Command proporciona ERROR_SUCCESS para dwResult. No se llama a ningún otro complemento. Si todos los complementos proporcionan ERROR_NOT_SUPPORTED, los datos proporcionados por el controlador no se reemplazan.

  • Si el punto de inyección es uno para el que los datos proporcionados reemplazan los datos que proporciona el controlador de impresora y si una aplicación ya ha reemplazado los datos proporcionados por el controlador mediante la función de escape de impresora POSTSCRIPT_INJECTION, no se llama a ningún complemento.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de prcomoem.h (include Prcomoem.h)