Compartilhar via


Identificadores de interface para drivers de impressora

Importante

Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft, juntamente com aplicativos de suporte de impressão (PSA), 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 de impressão.

Um conjunto de GUIDs é definido em prcomoem.h. Cada um desses GUIDs é um identificador de interface para uma das interfaces COM usadas para comunicação entre os drivers de impressora (Unidrv e Pscript5) e plug-ins.

Para Windows 2000 e Windows XP, os seguintes GUIDs são definidos:

IID_IPrintOemUIIID_IPrintOemUI2 (plug-ins de interface do usuário Pscript5 no Windows XP e versões posteriores do sistema operacional Windows) IID_IPrintOemDriverUIIID_IPrintCoreUI2 (plug-ins de interface do usuário Pscript5 no Windows XP e versões posteriores do sistema operacional Windows) IID_IPrintOemUni IID_IPrintOemUni2 (plug-ins de renderização Unidrv no Windows XP e versões posteriores do sistema operacional Windows) IID_IPrintOemUni3 (Plug-ins de renderização Unidrv no Windows Vista e versões posteriores do sistema operacional Windows) IID_IPrintOemDriverUniIID_IPrintOemPSIID_IPrintOemPS2 (plug-ins de renderização Pscript5 no Windows XP e versões posteriores do sistema operacional Windows) IID_IPrintOemDriverPS IID_IPrintCorePS2 (plug-ins de renderização Pscript5 no Windows XP e versões posteriores do sistema operacional Windows) Cada GUID identifica uma versão de uma interface. Se uma nova versão de uma interface for definida, um novo GUID será adicionado à lista.

Plug-ins de interface do usuário e plug-ins de renderização devem identificar as versões de interface compatíveis. O driver de impressora (Unidrv ou Pscript5) chama o método IUnknown::QueryInterface de um plug-in (descrito na documentação do SDK do Windows), especificando um identificador de interface como entrada. Se o plug-in der suporte à versão especificada, o método deverá retornar um ponteiro para a interface juntamente com um status de retorno de S_OK. Caso contrário, ele deverá retornar E_NOINTERFACE. O driver começa com o identificador de interface para a versão mais recente e continua a chamar QueryInterface com identificadores de versão anteriores até que o método retorne S_OK ou o driver esgote a lista de identificadores de versão.

Da mesma forma, Unidrv e Pscript5 fornecem métodos IUnknown::QueryInterface para as interfaces IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 COM. Os plug-ins devem chamar o método QueryInterface da interface apropriada para determinar a versão da interface com suporte do driver e receber um ponteiro de interface.