Compartilhar via


Acessando interfaces de drivers de impressora de plug-ins

Importante

A plataforma de impressão moderna é o meio preferido do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

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

Se um plug-in chamar métodos que pertencem às interfaces COM IPrintOemDriverUI, IPrintCoreHelperPS, IPrintCoreHelperUni, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS, ou IPrintCorePS2 fornecidas pelo driver, 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, IPrintOemUI2, 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 IUnknown da instância IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS, ou IPrintCorePS2.

  3. O plug-in deve usar o ponteiro de 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 da 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 da interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 não for mais necessário, o plug-in deverá chamar o método Release da interface (descrito na documentação do SDK do Windows).

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