Partager via


Créer une DLL graphique d’imprimante

Important

Nous vous recommandons d’utiliser le pilote de classe de boîte de réception IPP de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’imprimante.

Pour plus d’informations, consultez le Guide de conception de l’application de support d’impression.

Lorsque vous créez une DLL graphique d’imprimante, vous devez connaître les différences suivantes entre les DLL destinées à l’exécution en mode utilisateur et celles destinées à l’exécution en mode noyau.

Dans Windows Vista, les DLL graphiques d’imprimante ne peuvent s’exécuter qu’en mode utilisateur. Pour plus d’informations, consultez Choix du mode utilisateur ou du mode noyau.

Règles pour la création d’une DLL de graphismes d’imprimante

DLL graphique en mode utilisateur DLL graphique en mode noyau
Définissez TARGETTYPE=DYNLINK dans le fichier source. Définissez TARGETTYPE=GDI_DRIVER dans le fichier source.
Les USERMODE_DRIVER de macro de préprocesseur doivent être définis dans les fichiers sources avant d’inclure winddi.h. Les USERMODE_DRIVER de macro de préprocesseur ne doivent pas être définies.
Les modules objet doivent être liés aux bibliothèques d’importation umpdddi.lib et gdi32.lib. Les modules d’objet doivent être liés à la bibliothèque d’importation win32k.lib.
La fonction DrvQueryDriverInfo doit retourner TRUE pour DRVQUERY_USERMODE. La fonction DrvQueryDriverInfo doit retourner FALSE pour DRVQUERY_USERMODE. (Vous pouvez également omettre la fonction.)