Partager via


Fonctions définies par les DLL graphiques des imprimantes

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 la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.

Comme tous les pilotes graphiques, les DLL graphiques des imprimantes sont responsables de la définition des fonctions DDI graphiques suivantes. Après DrvEnableDriver, le point d’entrée initial du pilote, les fonctions restantes sont listées par ordre alphabétique. Notez que, comme GDI appelle DrvEnableDriver par son nom, son nom apparaît en gras. GDI appelle toutes les autres fonctions du pilote d’affichage via un tableau de pointeurs de fonctions que DrvEnableDriver retourne.

Nom de la fonction Description
DrvEnableDriver Permet au pilote de s’initialiser et de retourner des pointeurs vers les fonctions DDI graphiques prises en charge.
DrvCompletePDEV Fournit au pilote un handle GDI pour une instance de périphérique.
DrvDisableDriver (Facultatif) Permet au pilote d’effectuer des opérations de nettoyage avant d’être déchargé.
DrvDisablePDEV Permet au pilote de supprimer les informations spécifiques à une instance de périphérique.
DrvDisableSurface Permet au pilote de supprimer une surface de dessin.
DrvEnablePDEV Permet au pilote de fournir à GDI les caractéristiques physiques du périphérique et d’initialiser les informations spécifiques à une instance de périphérique.
DrvEnableSurface Permet au pilote de créer une surface de dessin.
DrvQueryDeviceSupport (Facultatif) Renvoie les informations spécifiques au périphérique demandées.
DrvQueryDriverInfo (Facultatif) Renvoie les informations spécifiques au pilote demandées.

Les DLL graphiques des imprimantes sont également responsables de la définition des fonctions DDI graphiques spécifiques à l’impression suivantes, qui sont appelées à certains moments lors du rendu d’un travail d’impression.

Fonction Moment de l’appel
DrvEndDoc Lorsque GDI a terminé l’envoi d’un document au pilote pour rendu.
DrvNextBand (Facultatif) Lorsque GDI a terminé de dessiner une bande pour une page physique, afin que le pilote puisse envoyer la bande à l’imprimante.
DrvQueryPerBandInfo (Facultatif) Avant que GDI commence à dessiner une bande pour une page physique, afin que le pilote puisse fournir à GDI des informations spécifiques à la bande.
DrvSendPage Lorsque GDI a terminé de dessiner une page physique, afin que le pilote puisse envoyer la page à l’imprimante.
DrvStartBanding (Facultatif) Lorsque GDI est prêt à commencer à envoyer des bandes d’une page physique au pilote pour rendu.
DrvStartDoc Lorsque GDI est prêt à commencer à envoyer un document au pilote pour rendu.
DrvStartPage Lorsque GDI est prêt à commencer à envoyer une page de document au pilote pour rendu.

En général, une DLL graphique d’imprimante définit également toutes les fonctions DDI graphiques supplémentaires nécessaires pour accomplir le rendu du travail d’impression. Le nombre et le type de fonctions définies dépendent de :

  • Si le pilote prend en charge l’utilisation de surfaces de dessin gérées par GDI ou par le périphérique (ou les deux). Pour plus d’informations, veuillez consulter la section Types de surfaces.

  • Dans quelle mesure les opérations de dessin peuvent être gérées par GDI au lieu d’être effectuées par le pilote lui-même. Pour plus d’informations, veuillez consulter la section Utilisation du DDI graphique.

Toutes les fonctions définies par les DLL graphiques des imprimantes sont appelées par le moteur de rendu graphique en mode noyau de GDI (GRE).

Les fonctions DrvEnableDriver et DrvQueryDriverInfo sont exportées par la DLL graphique. Les adresses de toutes les autres fonctions DDI graphiques prises en charge sont placées dans une table qui est retournée par la fonction DrvEnableDriver.