Método IPrintTicketProvider2::ConvertPrintTicketToDevMode (prdrvcom.h)
O método IPrintTicketProvider2::ConvertPrintTicketToDevMode converte um tíquete de impressão em uma estrutura dedeDEVMODEW.
Sintaxe
HRESULT ConvertPrintTicketToDevMode(
[in] IN IXMLDOMDocument2 *pPrintTicket,
[in] IN ULONG cbDevmodeIn,
[in] IN PDEVMODE pDevmodeIn,
[out] OUT ULONG *pcbDevmodeOut,
[out] OUT PDEVMODE *ppDevmodeOut
);
Parâmetros
[in] pPrintTicket
Um ponteiro para o tíquete de impressão de entrada. IPrintTicketProvider2::ConvertPrintTicketToDevMode converte as configurações no tíquete de impressão de entrada em campos na estrutura de DEVMODEW.
[in] cbDevmodeIn
O tamanho, em bytes, da estrutura de de DEVMODEW de entrada. Esse tamanho inclui as seções públicas e privadas da estrutura de DEVMODEW.
[in] pDevmodeIn
Um ponteiro para a estrutura de DEVMODEW de entrada, que contém configurações padrão. A estrutura DEVMODEW pode ser o padrão da fila de impressão estrutura de DEVMODEW ou pode ser o padrão do usuário estrutura de DEVMODEW. Como esse parâmetro pode representar o padrão do usuário estrutura de DEVMODEW, o provedor de plug-in OEM deve validar os dados nessa estrutura. Um usuário padrão estrutura de DEVMODEW pode não ser válida para um driver específico, por exemplo, quando o driver da fila de impressão é alterado ou atualizado.
[out] pcbDevmodeOut
Um ponteiro para uma variável que contém o tamanho, em bytes, da saída estrutura de DEVMODEW.
[out] ppDevmodeOut
Um ponteiro para uma variável que contém o endereço da estrutura de de saída DEVMODEW. Quando IPrintTicketProvider2::ConvertPrintTicketToDevMode retorna com êxito, os membros da estrutura de de saída DEVMODEW serão redefinidos para refletir as configurações no tíquete de impressão. Para obter mais informações, consulte a seção Comentários a seguir.
Valor de retorno
IPrintTicketProvider2::ConvertPrintTicketToDevMode deverá retornar S_OK se a operação for bem-sucedida. Caso contrário, esse método deve retornar um código de erro COM padrão.
Observações
O driver principal chama o método IPrintTicketProvider2::ConvertPrintTicketToDevMode antes de executar sua parte da conversão de um tíquete de impressão em uma estrutura de DEVMODEW. Na chamada para esse método, o driver principal passa um tíquete de impressão de entrada totalmente preenchido e uma estrutura de DEVMODEW definida como valores padrão. Na conversão, o plug-in deve desfazer as alterações feitas no tíquete de impressão durante a conversão anterior de uma estrutura de DEVMODEW em um tíquete de impressão. Se, durante essa conversão anterior, o plug-in moveu um recurso de um namespace privado para o namespace público, o plug-in deverá restaurar o recurso para o namespace privado em um formato adequado para o driver principal, ou seja, para o formato no qual o driver principal havia colocado anteriormente o recurso no tíquete de impressão fornecido ao plug-in no IPrintOemPrintTicketProvider:: Método ConvertDevModeToPrintTicket. Essa restauração é necessária para que o driver principal possa reconhecer um recurso no tíquete de impressão e refletir suas configurações na parte privada da estrutura de de DEVMODEW do driver principal enquanto o driver principal executa sua parte da conversão de DEVMODEW de impressão.
Antes que o sistema converta um tíquete de impressão de volta em uma estrutura de DEVMODEW, ele primeiro carrega o DEVMODEW padrão. Em seguida, o sistema chama o método IPrintTicketProvider2::BindPrinter do provedor. Esse método deve ler todas as configurações com suporte do tíquete de impressão e colocar essas configurações na estrutura de DEVMODEW. Observe que nem todos os recursos necessariamente serão representados e que, muitas vezes, as instâncias de opção presentes podem não conter todas as instâncias de Propriedade Pontuada que o provedor normalmente preencheria. Se o provedor fizer alterações nas configurações que foram preenchidas pelo sistema durante a conversão do tíquete de impressão para DEVMODEW, o provedor deverá executar o inverso dessa alteração nesse método. Depois que o provedor retornar, o sistema substituirá qualquer público deVMODEW configurações que são representadas no tíquete de impressão, mas que não são explicitamente desabilitadas pelo provedor.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | prdrvcom.h (inclua Prdrvcom.h) |