Creación de un DLL de gráficos 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.
Al crear un archivo DLL de gráficos de impresora, debe tener en cuenta las siguientes diferencias entre los archivos DLL diseñados para la ejecución en modo de usuario y los destinados a la ejecución en modo kernel.
En Windows Vista, los archivos DLL de gráficos de impresora solo se pueden ejecutar en modo de usuario. Para obtener más información, consulte Elección del modo de usuario o el modo kernel.
Reglas para crear un archivo DLL de gráficos de impresora
DLL de gráficos en modo de usuario | DLL de gráficos en modo kernel |
---|---|
Establezca TARGETTYPE=DYNLINK en el archivo de origen. | Establezca TARGETTYPE=GDI_DRIVER en el archivo de origen. |
La macro de preprocesador USERMODE_DRIVER debe definirse en los archivos de origen antes de incluir winddi.h. | La macro de preprocesador USERMODE_DRIVER no se debe definir. |
Los módulos de objeto deben estar vinculados con las bibliotecas de importación umpdddi.lib y gdi32.lib. | Los módulos de objeto deben estar vinculados a la biblioteca de importación win32k.lib. |
La función DrvQueryDriverInfo debe devolver TRUE para DRVQUERY_USERMODE. | La función DrvQueryDriverInfo debe devolver FALSE para DRVQUERY_USERMODE. (Como alternativa, se puede omitir la función). |