Método IPrintOemPS::Command (prcomoem.h)
O método IPrintOemPS::Command é usado pela renderização de plug-ins para o driver de impressora Do Microsoft PostScript, a fim de inserir comandos PostScript no fluxo de dados do trabalho de impressão.
Sintaxe
HRESULT Command(
PDEVOBJ pdevobj,
DWORD dwIndex,
PVOID pData,
DWORD cbSize,
[out] OUT DWORD *pdwResult
);
Parâmetros
pdevobj
Ponteiro fornecido pelo chamador para uma estrutura DEVOBJ .
dwIndex
Valor fornecido pelo chamador que representa o ponto de injeção atual no fluxo de dados do trabalho de impressão. Para obter mais informações, consulte a seção Comentários a seguir.
pData
Não usado.
cbSize
Não usado.
[out] pdwResult
Recebe um valor fornecido pelo método que indica o resultado da operação de inserção. Se a inserção for bem-sucedida, esse valor deverá ser ERROR_SUCCESS. Se a inserção falhar, o valor deverá ser um dos códigos de erro definidos em winerror.h. Se o método não tentar inserir dados para um valor dwIndex especificado, o valor deverá ser ERROR_NOT_SUPPORTED.
Retornar valor
O método deve retornar um dos valores a seguir.
Código de retorno | Descrição |
---|---|
|
A operação foi realizada com êxito. |
|
Falha na operação |
|
O método não está implementado. |
Comentários
O método IPrintOemPS::Command é usado para inserir comandos PostScript no fluxo de dados gerado pelo Driver de Impressora PostScript da Microsoft. Se você quiser fornecer esse método, deverá defini-lo em um plug-in de renderização.
Quando o método IPrintOemPS::Command é chamado, seu parâmetro dwIndex especifica o ponto de injeção atual dentro do fluxo de dados do trabalho de impressão. O método deve usar esse valor para determinar qual operação, se houver, deve ser executada. Os valores de índice, que são definidos em wingdi.h, são listados na tabela a seguir.
Valor do índice | Quando recebido |
---|---|
PSINJECT_BEGINDEFAULTS | Depois que o driver de impressora envia %%BeginDefaults para o fluxo de dados. |
PSINJECT_BEGINPAGESETUP | Depois que o driver de impressora envia %%BeginPageSetup para o fluxo de dados. |
PSINJECT_BEGINPROLOG | Depois que o driver de impressora envia %%BeginProlog para o fluxo de dados. |
PSINJECT_BEGINSETUP | Depois que o driver de impressora envia %%BeginSetup para o fluxo de dados. |
PSINJECT_BEGINSTREAM | Antes que o driver da impressora envie o primeiro byte do fluxo de dados. |
PSINJECT_BOUNDINGBOX | Quando o driver da impressora estiver pronto para inserir %%BoundingBox: no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%BoundingBox: do driver. |
PSINJECT_COMMENTS | Antes que o driver de impressora envie %%EndComments para o fluxo de dados. |
PSINJECT_DLFONT | Antes que o driver de impressão baixe uma fonte flexível. |
PSINJECT_DOCNEEDEDRES |
Depois que o driver de impressora envia %%DocumentNeededResources: para o fluxo de dados, juntamente com as informações do recurso. Se o método IPrintOemPS::Command enviar informações de recurso, ele será acrescentado ao fluxo após as informações de recurso do driver. O formato de entrada é o seguinte: %%+ResourceTypeResourceNames O driver da impressora envia %%DocumentNeededResources: depois de enviar a seção %%Trailer . |
PSINJECT_DOCSUPPLIEDRES |
Depois que o driver de impressora envia %%DocumentSuppliedResources: para o fluxo de dados, juntamente com as informações do recurso. Se o método IPrintOemPS::Command enviar informações de recurso, ele será acrescentado ao fluxo após as informações de recurso do driver. O formato de entrada é o seguinte: %%+ResourceTypeResourceNames O driver da impressora envia %%DocumentSuppliedResources: depois de enviar a seção %%Trailer . |
PSINJECT_DOCUMENTPROCESSCOLORS | |
Quando o driver da impressora estiver pronto para inserir %%DocumentProcessColors:color no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%DocumentProcessColors:color do driver. | |
PSINJECT_DOCUMENTPROCESSCOLORSATEND | |
Quando o driver de impressora estiver pronto para inserir %%DocumentProcessColors:(atend) no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%DocumentProcessColors:(atend) do driver. | |
PSINJECT_ENDDEFAULTS | Antes que o driver de impressora envie %%EndDefaults para o fluxo de dados. |
PSINJECT_ENDPAGECOMMENTS | Antes que o driver de impressora envie %%EndPageComments para o fluxo de dados. |
PSINJECT_ENDPAGESETUP | Antes que o driver de impressora envie %%EndPageSetup para o fluxo de dados. |
PSINJECT_ENDPROLOG | Antes que o driver de impressora envie %%EndProlog para o fluxo de dados. |
PSINJECT_ENDSETUP | Antes que o driver de impressora envie %%EndSetup para o fluxo de dados. |
PSINJECT_ENDSTREAM | Depois que o driver da impressora envia o último byte do fluxo de dados. |
PSINJECT_EOF | Depois que o driver de impressora envia %%EOF para o fluxo de dados. |
PSINJECT_ORIENTATION | Quando o driver da impressora estiver pronto para inserir %%Orientation: no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%Orientation: do driver. |
PSINJECT_PAGEBBOX | Quando o driver de impressora estiver pronto para inserir %%PageBoundingBox: no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%PageBoundingBox: do driver. |
PSINJECT_PAGENUMBER | Quando o driver da impressora estiver pronto para inserir %%Page: no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%Page: do driver. |
PSINJECT_PAGEORDER | Quando o driver da impressora estiver pronto para inserir %%PageOrder: no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%PageOrder: do driver. |
PSINJECT_PAGES | Quando o driver de impressora estiver pronto para inserir %%Pages:nnn no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%Pages:nnn do driver. |
PSINJECT_PAGESATEND | Quando o driver da impressora estiver pronto para inserir %%Pages:(atend) no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%Pages:(atend) do driver. |
PSINJECT_PAGETRAILER | Depois que o driver de impressora envia %%PageTrailer para o fluxo de dados. |
PSINJECT_PLATECOLOR | Quando o driver da impressora estiver pronto para inserir %%PlateColor:color no fluxo de dados. Os dados fornecidos por IPrintOemPS::Command substituem o comentário %%PlateColor:color do driver. |
PSINJECT_PSADOBE | Antes que o driver da impressora envie %! PS-Adobe para o fluxo de dados. |
PSINJECT_SHOWPAGE | Antes que o driver da impressora envie um comando showpage . |
PSINJECT_TRAILER | Depois que o driver de impressora envia %%Trailer para o fluxo de dados. |
PSINJECT_VMRESTORE | Depois que o driver da impressora envia um comando de restauração . (O método IPrintOemPS::Command deve reenviar todos os recursos enviados após a última PSINJECT_VMSAVE, se os recursos forem reutilizados.) |
PSINJECT_VMSAVE | Antes que o driver da impressora envie um comando salvar . (Consulte PSINJECT_VMRESTORE.) |
O método IPrintOemPS::Command deve chamar IPrintOemDriverPS::D rvWriteSpoolBuf para inserir os comandos do PostScript.
Se os métodos IPrintOemPS::Command forem exportados por vários plug-ins de renderização, os métodos serão chamados na ordem em que os plug-ins são especificados para instalação, sempre que o driver da impressora atinge um ponto de injeção. As seguintes regras se aplicam:
Se o ponto de injeção for aquele para o qual os dados fornecidos serão acrescentados aos dados fornecidos pelo driver da impressora, cada plug-in será chamado e cada plug-in poderá acrescentar comandos PostScript.
Se o ponto de injeção for aquele para o qual os dados fornecidos substituem os dados fornecidos pelo driver da impressora, os plug-ins serão chamados até que um método IPrintOemPS::Command forneça ERROR_SUCCESS para dwResult. Nenhum outro plug-in é chamado. Se todos os plug-ins fornecerem ERROR_NOT_SUPPORTED, os dados fornecidos pelo driver não serão substituídos.
Se o ponto de injeção for aquele para o qual os dados fornecidos substituirão os dados fornecidos pelo driver de impressora e se um aplicativo já tiver substituído os dados fornecidos pelo driver usando a função de escape POSTSCRIPT_INJECTION impressora, nenhum plug-in será chamado.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | prcomoem.h (inclua Prcomoem.h) |