Partilhar via


Identificadores de interface para drivers de impressora

Important

A moderna plataforma de impressão é o meio preferido do Windows para comunicar com as impressoras. Recomendamos que utilize o controlador de classe da caixa de entrada IPP da Microsoft, juntamente com as Aplicações de Suporte de Impressão (PSA), 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 Guia de design do aplicativo de suporte de impressão v1 e v2.

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 da interface do usuário Pscript5 no Windows XP e versões posteriores do sistema operacional Windows) IID_IPrintOemDriverUIIID_IPrintCoreUI2 (plug-ins da 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_IPrintOemDriverUniIID_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 suportadas. 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 suportar a versão especificada, o método deve retornar um ponteiro para a interface junto com um estado de retorno S_OK. Caso contrário, deve devolver 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 anterior 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, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2. Os plug-ins devem chamar o método QueryInterface da interface apropriada para determinar a versão da interface suportada do driver e receber um ponteiro de interface.