Identificadores de interface para drivers de impressora
Importante
A plataforma de impressão moderna é o meio preferencial 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.
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_IPrintOemUI IID_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_IPrintOemUniIID_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_IPrintOemDriverUni IID_IPrintOemPSIID_IPrintOemPS2 (plug-ins de renderização Pscript5 no Windows XP e versões posteriores do sistema operacional Windows) IID_IPrintOemDriverPSIID_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.
Os plug-ins de interface do usuário e os plug-ins de renderização devem identificar as versões de interface com as quais dão suporte. 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 junto com um status de retorno de S_OK. Caso contrário, ele deve 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 COM IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUniIPrintOemDriverPS ou IPrintCorePS2. 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.