Identificadores de interfaz para controladores de impresora
Importante
La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.
Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.
Un conjunto de GUID se define en prcomoem.h. Cada uno de estos GUID es un identificador de interfaz para una de las interfaces COM usadas para la comunicación entre los controladores de impresora (Unidrv y Pscript5) y complementos.
Para Windows 2000 y Windows XP, se definen los siguientes GUID:
IID_IPrintOemUIIID_IPrintOemUI2 (complementos de interfaz de usuario de Pscript5 en Windows XP y versiones posteriores del sistema operativo Windows) IID_IPrintOemDriverUIIID_IPrintCoreUI2 (complementos de interfaz de usuario Pscript5 en Windows XP y versiones posteriores del sistema operativo Windows) IID_IPrintOemUniIID_IPrintOemUni2 (complementos de representación Unidrv en Windows XP y versiones posteriores del sistema operativo Windows) IID_IPrintOemUni3 (complementos de representación de Unidrv en Windows Vista y versiones posteriores del sistema operativo Windows) IID_IPrintOemDriverUniIID_IPrintOemPSIID_IPrintOemPS2 (complementos de representación de Pscript5 en Windows XP y versiones posteriores del sistema operativo Windows) IID_IPrintOemDriverPSIID_IPrintCorePS2 (complementos de representación de Pscript5 en Windows XP y versiones posteriores del sistema operativo Windows) Cada GUID identifica una versión de una interfaz. Si se define una nueva versión de una interfaz, se agrega un nuevo GUID a la lista.
Los complementos de interfaz de usuario y los complementos de representación deben identificar las versiones de interfaz que admiten. El controlador de impresora (Unidrv o Pscript5) llama al método IUnknown::QueryInterface de un complemento (descrito en la documentación del SDK de Windows), especificando un identificador de interfaz como entrada. Si el complemento admite la versión especificada, el método debe devolver un puntero a la interfaz junto con un estado devuelto de S_OK. De lo contrario, debe devolver E_NOINTERFACE. El controlador comienza con el identificador de interfaz de la versión más reciente y continúa llamando a QueryInterface con identificadores de versión anteriores hasta que el método devuelve S_OK o el controlador agota la lista de identificadores de versión.
Del mismo modo, Unidrv y Pscript5 proporcionan métodos IUnknown::QueryInterface para las interfaces COM IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS o IPrintCorePS2 Los complementos deben llamar al método QueryInterface de la interfaz adecuada para determinar la versión de interfaz admitida del controlador y recibir un puntero de interfaz.