Partilhar via


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)

Consulte também

IPrintTicketProvider2

IPrintTicketProvider2::ConvertDevModeToPrintTicket