Compartir a través de


Publicación de las interfaces

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.

Los complementos suelen recibir instancias de objetos que implementan el comportamiento en los controladores principales mediante un mecanismo denominado publicación. Las interfaces auxiliares IPrintCoreHelper, IPrintCoreHelperPS e IPrintCoreHelperUni se publican mediante ese mismo modelo, con algunas diferencias menores.

En las listas siguientes se resume el orden en que los objetos se publican en la interfaz de usuario (UI) y los módulos de representación, para Unidrv y Pscript5. Para cada uno de los cuatro módulos, el número de la lista indica el orden en el que se publica un objeto y las interfaces COM denominadas indican qué interfaces implementa el objeto.

En cualquier módulo determinado, el controlador debe mantener solo uno de los objetos publicados guardando un puntero y llamando al método AddRef en ese objeto. Después de que el complemento almacene la referencia al objeto, el complemento debe devolver S_OK. A continuación, el controlador principal dejará de publicar interfaces. Este modelo no es significativamente diferente del mecanismo de publicación anterior.

En el contexto de la interfaz de usuario, los objetos se publican en la interfaz IPrintOemUI de la clase cuyo identificador de clase es CLSID_OEMUI. En el contexto de representación, los objetos se publican en las interfaces IPrintOemPS o IPrintOemUni.

Los objetos marcados con un asterisco (*) en las listas siguientes se publican en la interfaz IPrintOemPrintTicketProvider.

Orden de publicación del módulo de IU Unidrv

  1. IUnknown e *IPrintCoreHelper e IPrintCoreHelperUni

  2. IUnknown e IPrintOemDriverUI

Orden de publicación de módulos de representación Unidrv

  1. IUnknown e IPrintCoreHelper e IPrintCoreHelperUni

  2. IUnknown e IPrintOemDriverUni

Orden de publicación del módulo de interfaz de usuario de Pscript5

  1. IUnknown e *IPrintCoreHelper e IPrintCoreHelperPS

  2. IUnknown e IPrintCoreUI2

  3. IUnknown e IPrintOemDriverUI

Orden de publicación del módulo de representación de Pscript5

  1. IUnknown e IPrintCoreHelper e IPrintCoreHelperPS

  2. IUnknown e IPrintCorePS2