Método IPrintOemUI::P ublishDriverInterface (prcomoem.h)

O IPrintOemUI::PublishDriverInterface método permite que um plug-in de interface do usuário obtenha a interface IPrintOemDriverUI do driver Unidrv ou Pscript5, IPrintCoreUI2, IPrintCoreHelperPS ou IPrintCoreHelperUni .

Sintaxe

HRESULT PublishDriverInterface(
  IUnknown *pIUnknown
);

Parâmetros

pIUnknown

Ponteiro fornecido pelo chamador para a interface IUnknown da interface COM IPrintCoreUI2 do driver, interface COM IPrintOemDriverUI, interface IPrintCoreHelperPS ou interface IPrintCoreHelperUni. Consulte Observações.

Valor retornado

O método deve retornar um dos valores a seguir.

Código de retorno Descrição
S_OK
A operação foi realizada com êxito.
E_FAIL
Falha na operação.

Comentários

O driver Pscript5 dá suporte às interfaces IPrintCoreUI2, IPrintOemDriverUI e IPrintCoreHelperPS . O Unidrv dá suporte às interfaces IPrintOemDriverUI e IPrintCoreHelperUni . Os plug-ins de interface do usuário para ambos os tipos de driver devem implementar o IPrintOemUI::PublishDriverInterface método .

O método deve retornar informações sobre suas interfaces Pscript5 com suporte da seguinte maneira:

  1. O driver Pscript5 primeiro chama o IPrintOemUI::PublishDriverInterface método com o ponteiro pIUnknown definido como a interface IUnknown da instância IPrintCoreUI2. Se o plug-in da interface do usuário puder usar a interface IPrintCoreUI2 , o método deverá retornar S_OK. Caso contrário, o plug-in deverá retornar E_FAIL.
  2. Se o plug-in tiver retornado E_FAIL, o driver Pscript5 chamará o IPrintOemUI::PublishDriverInterface método novamente, mas com o ponteiro pIUnknown definido como a interface IUnknown da instância IPrintOemDriverUI. Se o plug-in puder usar a interface IPrintOemDriverUI , o método deverá retornar S_OK. Caso contrário, o plug-in deverá retornar E_FAIL.
  3. Se o método IPrintOemUI::GetInfo do plug-in tiver retornado um valor de OEMPUBLISH_IPRINTCOREHELPER no pBuffer em resposta a uma chamada com dwMode definido como OEMGI_GETREQUESTEDHELPERINTERFACES, o driver Pscript5 chamará o IPrintOemUI::PublishDriverInterface método novamente, mas com o ponteiro pIUnknown definido como um objeto que implementa as interfaces IPrintCoreHelperPS e IPrintCoreHelper . Se o plug-in puder usar a interface IPrintCoreHelperPS ou IPrintCoreHelper , o método deverá retornar S_OK. Caso contrário, o método deverá retornar E_FAIL.
O método deve retornar informações sobre suas interfaces Unidrv com suporte da seguinte maneira:
  1. O driver Unidrv primeiro chama o IPrintOemUI::PublishDriverInterface método com o ponteiro pIUnknown definido como a interface IUnknown da instância IPrintOemDriverUI. Se o plug-in puder usar a interface IPrintOemDriverUI , o método deverá retornar S_OK. Caso contrário, o plug-in deverá retornar E_FAIL.
  2. Se o método IPrintOemUI::GetInfo do plug-in tiver retornado um valor de OEMPUBLISH_IPRINTCOREHELPER no pBuffer em resposta a uma chamada com dwMode definido como OEMGI_GETREQUESTEDHELPERINTERFACES, o driver Unidrv chamará o IPrintOemUI::PublishDriverInterface método novamente, mas com o ponteiro pIUnknown definido como um objeto que implementa as interfaces IPrintCoreHelperUni e IPrintCoreHelper . Se o plug-in usar a interface IPrintCoreHelperUni ou IPrintCoreHelper , o método deverá retornar S_OK. Caso contrário, o método deverá retornar E_FAIL.
Se o plug-in falhar em todas as chamadas para IPrintOemUI::PublishDriverInterface, o plug-in não receberá mais chamadas. Se o plug-in da interface do usuário chamará os métodos de interface IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS ou IPrintCoreHelperUni, ele deverá usar o ponteiro de interface IUnknown recebido para chamar IUnknown::QueryInterface (descrito na documentação do SDK do Microsoft Windows) para obter um ponteiro para a versão com suporte do driver do IPrintCoreUI2, Interface IPrintOemDriverUI, IPrintCoreHelperPS ou IPrintCoreHelperUni. Para obter mais informações, consulte Identificadores de interface para drivers de impressora.

Durante o processamento de cada função DDI, os plug-ins de interface do usuário não devem misturar o uso de métodos das interfaces pré-Windows Vista (por exemplo, a interface IPrintOemDriverUI ou IPrintCoreUI2 ) e os novos métodos das interfaces do Windows Vista (por exemplo, IPrintCoreHelperUni ou IPrintCoreHelperPS) para ler ou gravar configurações do driver. Por exemplo, durante o método IPrintOemUI::D ocumentPropertySheets , o plug-in da interface do usuário não deve usar o método IPrintOemDriverUI::D rvUpdateUISetting para gravar configurações e usar o método IPrintCoreHelper::GetOption para ler as configurações. Por outro exemplo, durante o método IPrintOemUI::P rinterEvent , o plug-in da interface do usuário não deve usar o método IPrintCoreUI2::GetOptions para ler as configurações e usar o método IPrintCoreHelper::SetOptions para gravar configurações. Não há suporte para a sincronização da leitura e gravação das configurações entre essas diferentes versões de interfaces.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho prcomoem.h (inclua Prcomoem.h)

Confira também

IPrintOemUI

IPrintOemUI::GetInfo