Compartilhar via


Acessando interfaces de driver de impressora de Plug-Ins

Importante

Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft, juntamente com o PSA (Aplicativos de Suporte para Impressão), para personalizar a experiência de impressão em Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte o Guia de design do aplicativo de suporte para impressão.

Se um plug-in chamar métodos que pertençam às interfaces IPrintOemDriverUI, IPrintCoreHelperPS, IPrintCoreHelperUni, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 COM, ele deverá obter um ponteiro de interface do driver da seguinte maneira:

  1. O plug-in deve implementar o método PublishDriverInterface da interface IPrintOemUI, IPrintOemUni, IPrintOemUni2, IPrintOemPS ou IPrintOemPS2.

  2. Quando o driver (Unidrv ou Pscript5) chama o método PublishDriverInterface do plug-in, ele fornece um ponteiro para a interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 da instância IUnknown.

  3. O plug-in deve usar o ponteiro da interface IUnknown para chamar IUnknown::QueryInterface, especificando o identificador de interface que representa a versão desejada da interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 . (Para obter mais informações, consulte Identificadores de interface para drivers de impressora.)

  4. Se o plug-in especificar um identificador de interface que representa uma versão de interface compatível com o driver, QueryInterface retornará um ponteiro para a interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 . Observe que o driver chama o método AddRef da interface (descrito na documentação do SDK do Windows) antes de retornar o ponteiro de interface para o plug-in. O plug-in deve salvar esse ponteiro para usá-lo posteriormente para chamar métodos de interface.

  5. Quando o ponteiro de interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 não é mais necessário, o plug-in deve chamar o método Release da interface (descrito na documentação do SDK do Windows).

Para que os plug-ins usem a nova interface IPrintCoreHelperPS ou IPrintCoreHelperUni do Windows Vista, o plug-in precisa adicionar suporte para OEMGI_GETREQUESTEDHELPERINTERFACES em seu método IPrintOemUI::GetInfo, IPrintOemPS::GetInfo ou IPrintOemUni::GetInfo .