Método IPrintOemUI::P ublishDriverInterface (prcomoem.h)
El IPrintOemUI::PublishDriverInterface
método permite que un complemento de interfaz de usuario obtenga la interfaz IPrintOemDriverUI del controlador Unidrv o Pscript5, IPrintCoreUI2, IPrintCoreHelperPS o IPrintCoreHelperUni .
Sintaxis
HRESULT PublishDriverInterface(
IUnknown *pIUnknown
);
Parámetros
pIUnknown
Puntero proporcionado por el autor de la llamada a la interfaz IUnknown de la interfaz COM IPrintCoreUI2 del controlador, IPrintOemDriverUI COM Interface, IPrintCoreHelperPS Interface o IPrintCoreHelperUni Interface. Vea la sección Comentarios.
Valor devuelto
El método debe devolver uno de los valores siguientes.
Código devuelto | Descripción |
---|---|
|
La operación se realizó correctamente. |
|
Error en la operación. |
Comentarios
El controlador Pscript5 admite las interfaces IPrintCoreUI2, IPrintOemDriverUI e IPrintCoreHelperPS . Unidrv admite las interfaces IPrintOemDriverUI e IPrintCoreHelperUni . Los complementos de interfaz de usuario para ambos tipos de controlador deben implementar el IPrintOemUI::PublishDriverInterface
método .
El método debe devolver información sobre sus interfaces Pscript5 admitidas de la siguiente manera:
-
El controlador Pscript5 llama primero al
IPrintOemUI::PublishDriverInterface
método con el puntero pIUnknown establecido en la interfaz IUnknown de la instancia IUnknown de la instancia de IPrintCoreUI2. Si el complemento de interfaz de usuario puede usar la interfaz IPrintCoreUI2 , el método debe devolver S_OK. De lo contrario, el complemento debe devolver E_FAIL. -
Si el complemento ha devuelto E_FAIL, el controlador Pscript5 llama al
IPrintOemUI::PublishDriverInterface
método de nuevo, pero con el puntero pIUnknown establecido en la interfaz IUnknown de la instancia de IPrintOemDriverUI. Si el complemento puede usar la interfaz IPrintOemDriverUI , el método debe devolver S_OK. De lo contrario, el complemento debe devolver E_FAIL. -
Si el método IPrintOemUI::GetInfo del complemento ha devuelto un valor de OEMPUBLISH_IPRINTCOREHELPER en pBuffer en respuesta a una llamada con dwMode establecido en OEMGI_GETREQUESTEDHELPERINTERFACES, el controlador Pscript5 llama al
IPrintOemUI::PublishDriverInterface
método de nuevo, pero con el puntero pIUnknown establecido en un objeto que implementa las interfaces IPrintCoreHelperPS e IPrintCoreHelper . Si el complemento puede usar la interfaz IPrintCoreHelperPS o IPrintCoreHelper , el método debe devolver S_OK. De lo contrario, el método debe devolver E_FAIL.
-
El controlador Unidrv llama primero al
IPrintOemUI::PublishDriverInterface
método con el puntero pIUnknown establecido en la interfaz IUnknown de la instancia IUnknown de la instancia de IPrintOemDriverUI. Si el complemento puede usar la interfaz IPrintOemDriverUI , el método debe devolver S_OK. De lo contrario, el complemento debe devolver E_FAIL. -
Si el método IPrintOemUI::GetInfo del complemento ha devuelto un valor de OEMPUBLISH_IPRINTCOREHELPER en pBuffer en respuesta a una llamada con dwMode establecido en OEMGI_GETREQUESTEDHELPERINTERFACES, el controlador Unidrv llama al
IPrintOemUI::PublishDriverInterface
método de nuevo, pero con el puntero pIUnknown establecido en un objeto que implementa las interfaces IPrintCoreHelperUni e IPrintCoreHelper . Si el complemento usa la interfaz IPrintCoreHelperUni o IPrintCoreHelper , el método debe devolver S_OK. De lo contrario, el método debe devolver E_FAIL.
IPrintOemUI::PublishDriverInterface
, el complemento no recibirá más llamadas. Si el complemento de interfaz de usuario llamará a IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS o métodos de interfaz IPrintCoreHelperUni, debe usar el puntero de interfaz IUnknown recibido para llamar a IUnknown::QueryInterface (descrito en la documentación de Microsoft Windows SDK) para obtener un puntero a la versión compatible del controlador de IPrintCoreUI2, Interfaz IPrintOemDriverUI, IPrintCoreHelperPS o IPrintCoreHelperUni. Para obtener más información, vea Identificadores de interfaz para controladores de impresora.
Durante el procesamiento de cada función DDI, los complementos de interfaz de usuario no deben mezclar el uso de métodos de las interfaces anteriores a Windows Vista (por ejemplo, la interfaz IPrintOemDriverUI o IPrintCoreUI2 ) y los nuevos métodos de las interfaces de Windows Vista (por ejemplo, IPrintCoreHelperUni o IPrintCoreHelperPS) para leer o escribir la configuración del controlador. Por ejemplo, durante el método IPrintOemUI::D ocumentPropertySheets , el complemento de interfaz de usuario no debe usar el método IPrintOemDriverUI::D rvUpdateUISetting para escribir la configuración y usar el método IPrintCoreHelper::GetOption para leer la configuración. Por otro ejemplo, durante el método IPrintOemUI::P rinterEvent , el complemento de interfaz de usuario no debe usar el método IPrintCoreUI2::GetOptions para leer la configuración y usar el método IPrintCoreHelper::SetOptions para escribir la configuración. No se admite la sincronización de la lectura y escritura de la configuración entre estas diferentes versiones de interfaces.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | prcomoem.h (include Prcomoem.h) |