Compartir a través de


Compatibilidad con la API Win32 para funcionalidades de impresión

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.

El subsistema de impresión de Windows Vista proporciona compatibilidad que permite a las aplicaciones de Windows Presentation Foundation (WPF) usar controladores de impresión basados en GDI y permite que las aplicaciones basadas en Microsoft Win32 usen controladores de impresión XPSDrv. Esta compatibilidad se proporciona a través de una capa de correcciones de software. Las correcciones de compatibilidad son módulos de software que realizan operaciones de transformación en los datos para que puedan interoperar programas que, de otro modo, serían incompatibles. En la ilustración siguiente se muestran las rutas de datos de esta implementación para funcionalidades de impresión.

diagrama que ilustra los flujos de datos de funcionalidades de impresión.

Tanto los controladores de impresión XPSDrv como los controladores de impresión basados en GDI, versión 3, admiten la función DrvDeviceCapabilities. Cuando una aplicación Win32 llama a la función DrvDeviceCapabilities o GetDevCap, el subsistema de impresión llamará a DrvDeviceCapabilities para recopilar la información de funcionalidad del dispositivo del controlador de impresión.

Cuando una aplicación WPF solicita un documento PrintCapabilities desde un controlador de impresión, el subsistema de impresión realizará una de las acciones siguientes:

  • Si el controlador de impresión admite la interfaz IPrintTicketProvider, el subsistema de impresión consultará el controlador de impresión del documento PrintCapabilities mediante el método IPrintTicketProvider::GetPrintCapabilities.

  • Si el controlador de impresión no admite la interfaz IPrintTicketProvider, el administrador de vales de impresión consultará la función DrvDeviceCapabilities del controlador de impresión y usará la información devuelta para crear un documento PrintTicket que se devuelva a la aplicación.

Para obtener más información sobre cómo los controladores de impresión de Microsoft admiten la interfaz IPrintTicketProvider, consulte Diseño de interfaz de complemento y controlador de impresoras en Windows Vista.