Compartir a través de


Funciones definidas por archivos DLL de gráficos de impresora

Importante

Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con las 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 la Guía de diseño de aplicaciones de soporte técnico de impresión.

Al igual que todos los controladores de gráficos, los archivos DLL de gráficos de impresora son responsables de definir las siguientes funciones DDI de gráficos. Después de DrvEnableDriver, el punto de entrada inicial del controlador, las funciones restantes se enumeran en orden alfabético. Tenga en cuenta que, dado que GDI llama a DrvEnableDriver por nombre, su nombre aparece en negrita. GDI llama a todas las demás funciones del controlador de visualización mediante una matriz de punteros de función que DrvEnableDriver devuelve.

Nombre de función Descripción
DrvEnableDriver Permite al controlador inicializarse y devolver punteros a funciones DDI de gráficos compatibles.
DrvCompletePDEV Proporciona al controlador un identificador GDI para una instancia de dispositivo.
DrvDisableDriver (Opcional) Permite al controlador realizar operaciones de limpieza antes de descargarse.
DrvDisablePDEV Permite al controlador quitar información específica de la instancia del dispositivo.
DrvDisableSurface Permite al controlador quitar una superficie de dibujo.
DrvEnablePDEV Permite al controlador proporcionar a GDI características del dispositivo físico e inicializar información específica de la instancia del dispositivo.
DrvEnableSurface Permite al controlador crear una superficie de dibujo.
DrvQueryDeviceSupport (Opcional) Devuelve información específica del dispositivo solicitada.
DrvQueryDriverInfo (Opcional) Devuelve información específica del controlador solicitada.

Los archivos DLL de gráficos de impresora también son responsables de definir las siguientes funciones DDI de gráficos específicos de impresión, a las que se llama en determinados puntos durante la representación de un trabajo de impresión.

Función Cuando se llama a
DrvEndDoc Cuando GDI haya terminado de enviar un documento al controlador para su representación.
DrvNextBand (Opcional) Cuando GDI haya terminado de dibujar una banda para una página física, por lo que el controlador puede enviar la banda a la impresora.
DrvQueryPerBandInfo (Opcional) Antes de que GDI comience a dibujar una banda para una página física, por lo que el controlador puede proporcionar la GDI con información específica de banda.
DrvSendPage Cuando GDI ha terminado de dibujar una página física, por lo que el controlador puede enviar la página a la impresora.
DrvStartBanding (Opcional) Cuando GDI está listo para empezar a enviar bandas de una página física al controlador para su representación.
DrvStartDoc Cuando GDI está listo para empezar a enviar un documento al controlador para su representación.
DrvStartPage Cuando GDI está listo para empezar a enviar una página de documento al controlador para su representación.

Normalmente, un archivo DLL de gráficos de impresora también define las funciones DDI de gráficos adicionales necesarias para realizar la representación del trabajo de impresión. El número y el tipo de funciones definidas dependen de:

  • Si el controlador admite el uso de superficies de dibujo administradas por GDI o administradas por dispositivos (o ambas). Para obtener más información, consulta Tipos de Superficie.

  • La medida en que GDI puede controlar las operaciones de dibujo en lugar de ser realizadas por el propio controlador. Para obtener más información, vea Uso de DDI de gráficos.

El motor de representación de gráficos en modo kernel (GRE) de GDI llama a todas las funciones definidas por los archivos DLL de gráficos de impresora.

La DLL de gráficos exporta las funciones DrvEnableDriver y DrvQueryDriverInfo . Las direcciones de todas las demás funciones DDI de gráficos admitidas se colocan en una tabla devuelta por la función DrvEnableDriver .