Método IPrintTicketProvider::ConvertPrintTicketToDevMode (prdrvcom.h)
O método IPrintTicketProvider::ConvertPrintTicketToDevMode converte um tíquete de impressão em uma estrutura DEVMODEW .
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. IPrintTicketProvider::ConvertPrintTicketToDevMode converte as configurações no tíquete de impressão de entrada em campos na estrutura DEVMODEW .
[in] cbDevmodeIn
O tamanho, em bytes, da estrutura DEVMODEW de entrada. Esse tamanho inclui as seções pública e privada da estrutura DEVMODEW .
[in] pDevmodeIn
Um ponteiro para a estrutura DEVMODEW de entrada, que contém as configurações padrão. A estrutura DEVMODEW pode ser a estrutura DEVMODEW padrão da fila de impressão ou pode ser a estrutura DEVMODEW padrão do usuário. Como esse parâmetro pode representar a estrutura DEVMODEW padrão do usuário, o provedor de plug-in OEM deve validar os dados nessa estrutura. Uma estrutura DEVMODEW padrão do usuário 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 estrutura DEVMODEW de saída.
[out] ppDevmodeOut
Um ponteiro para uma variável que contém o endereço da estrutura DEVMODEW de saída. Quando IPrintTicketProvider::ConvertPrintTicketToDevMode retornar com êxito, os membros da estrutura DEVMODEW de saída 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.
Retornar valor
IPrintTicketProvider::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.
Comentários
O driver principal chama o método IPrintTicketProvider::ConvertPrintTicketToDevMode antes de executar sua parte da conversão de um tíquete de impressão em uma estrutura DEVMODEW . Na chamada para esse método, o driver principal passa um tíquete de impressão de entrada totalmente preenchido e uma estrutura 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 DEVMODEW em um tíquete de impressão. Se, durante essa conversão anterior, o plug-in tiver movido 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 que foi 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 DEVMODEW do driver principal enquanto o driver principal executa sua parte da conversão de tíquete de impressão para DEVMODEW .
Antes que o sistema converta um tíquete de impressão novamente em uma estrutura DEVMODEW , ele primeiro carrega o DEVMODEW padrão. Em seguida, o sistema chama o método IPrintTicketProvider::BindPrinter do provedor. Esse método deve ler todas as configurações compatíveis com o tíquete de impressão e colocar essas configurações na estrutura DEVMODEW . Observe que nem todos os recursos necessariamente serão representados e que, muitas vezes, as instâncias option 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 retorna, o sistema substitui todas as configurações de DEVMODEW públicas 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) |