Partager via


Créer une DLL de graphiques d'imprimante

Important

La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte 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’impression.

Pour plus d’informations, veuillez consulter les articles Plateforme d’impression moderne et Guide de conception des applications de support d’impression.

Lors de la création d’une DLL de graphiques 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.

Sous Windows Vista, les DLL de graphiques d’imprimante ne peuvent s’exécuter qu’en mode utilisateur. Pour plus d’informations, veuillez consulter la section Choix du mode utilisateur ou du mode noyau.

Règles de création d’une DLL de graphiques d’imprimante

DLL de graphiques en mode utilisateur DLL de graphiques en mode noyau
Configurez TARGETTYPE=DYNLINK dans le fichier source. Configurez TARGETTYPE=GDI_DRIVER dans le fichier source.
La macro de préprocesseur USERMODE_DRIVER doit être définie dans les fichiers sources avant que winddi.h ne soit inclus. La macro de préprocesseur USERMODE_DRIVER ne doit pas être définie.
Les modules d’objet doivent être liés aux bibliothèques d’importation umpdddi.lib et gdi32.lib. Les modules 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.)