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 |
---|---|
|
La operación se realizó correctamente. |
|
Error en la operación |
|
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) |