Partager via


Prise en charge de GDI pour Surfaces

Pour chaque PDEV, un pilote doit prendre en charge la fonction DrvEnableSurface . DrvEnableSurface configure la surface à dessiner et l’associe au PDEV. Le pilote doit également prendre en charge la fonction DrvDisableSurface pour désactiver les surfaces créées. Étant donné que GDI crée et gère la surface, le pilote s’appuie sur plusieurs fonctions de service GDI, répertoriées dans le tableau suivant, pour implémenter l’activation et la désactivation des surfaces.

Nom de fonction Objectif

EngAssociateSurface

Associe une surface à un PDEV et définit les opérations de dessin que l’enregistreur de pilotes souhaite raccorder pour cette surface. Il utilise les étapes de style et de palette par défaut du PDEV. Le pilote doit effectuer cet appel pour la surface primaire pendant l’exécution de DrvEnableSurface. Le pilote doit également effectuer cet appel lorsqu’il active une surface secondaire avant de verrouiller la surface pour écrire dessus.

EngCheckAbort

(Imprimantes uniquement) Permet à un pilote d’imprimante de déterminer si son travail d’imprimante a été terminé.

EngCreateBitmap

Crée une bitmap DIB de format standard. GDI peut effectuer toutes les opérations de dessin sur ce type de surface.

EngCreateDeviceBitmap

Crée une bitmap dépendante de l’appareil sur laquelle le pilote est chargé de dessiner (bien qu’elle puisse être créée en tant que DIB, auquel cas le pilote peut rappeler pour avoir un dessin GDI sur celui-ci).

EngCreateDeviceSurface

Crée une surface gérée par l’appareil. Le pilote est responsable de la gestion de certaines opérations de dessin pour cette surface. La fonction retourne un handle que le pilote gère.

EngCreateWnd

Créez une structure WNDOBJ sur une surface spécifiée.

EngDeleteSurface

Supprime une surface (DIB, bitmap dépendante de l’appareil ou surface gérée par l’appareil).

EngDeleteWnd

Supprime une structure WNDOBJ .

EngEraseSurface

Remplit un rectangle spécifié sur une surface avec une couleur donnée, l’effançant efficacement. Cette fonction doit être appelée uniquement pour effacer la surface d’une bitmap GDI.

EngLockDirectDrawSurface

Verrouille le handle en mode noyau d’une surface DirectDraw.

EngLockSurface

Donne au pilote l’accès à une surface créée en créant un objet utilisateur (SURFOBJ) pour cette surface. (La surface principale n’est pas verrouillée.)

EngMarkBandingSurface

(Imprimantes uniquement) Marque une surface en tant que surface de bande.

EngModifySurface

Avertit GDI des attributs d’une surface qui a été créée par le pilote.

EngUnlockDirectDrawSurface

Libère le verrou sur une surface spécifiée Par DirectDraw donnée.

EngUnlockSurface

Déverrouille une surface lorsque le pilote a terminé une opération de dessin (à appeler lors de la désactivation d’une surface secondaire).