Partager via


Fonction DrvSynchronize (winddi.h)

La fonction DrvSynchronize informe le pilote que GDI doit accéder à une surface gérée par l’appareil. Cette fonction permet de coordonner les opérations de dessin asynchrones effectuées par le coprocesseur d’un appareil avec les accès GDI.

Syntaxe

void DrvSynchronize(
  DHPDEV dhpdev,
  RECTL  *prcl
);

Paramètres

dhpdev

Gérez la structure PDEV de l’appareil physique qui identifie l’appareil à synchroniser avec GDI. Ce paramètre est le handle d’appareil retourné à GDI par DrvEnablePDEV.

prcl

Pointeur vers une structure RECTL . Ce paramètre doit être ignoré par le pilote.

Valeur de retour

None

Remarques

Cette fonction permet de coordonner les opérations de dessin asynchrones effectuées par le coprocesseur d’un appareil avec les accès GDI.

DrvSynchronize peut être implémenté éventuellement dans les pilotes d’affichage. GDI appelle cette fonction uniquement si elle est accrochée par EngAssociateSurface. GDI appelle DrvSynchronize juste avant de dessiner directement sur la surface de l’appareil. GDI appelle DrvSynchronizeSurface au lieu de DrvSynchronize dans les pilotes qui implémentent ces deux fonctions.

Cette fonction ne doit retourner que lorsqu’il est sécurisé pour GDI d’accéder à n’importe quelle surface gérée par l’appareil. Autrement dit, DrvSynchronize doit retarder le retour de l’appel jusqu’à ce que toutes les opérations de dessin asynchrone aient été effectuées par le coprocesseur de l’appareil, indiquant ainsi qu’il est sûr pour GDI d’accéder à toute surface gérée par l’appareil.

DrvSynchronize est destiné à prendre en charge les appareils qui utilisent un coprocesseur pour le dessin. Un tel appareil peut traiter certaines opérations de dessin comme asynchrones, revenir à GDI à partir de l’opération avant la fin du dessin. Si c’est le cas, il est possible qu’une opération de dessin ultérieure soit gérée par GDI. Pour que GDI accède en toute sécurité aux surfaces gérées par l’appareil, il doit disposer d’un moyen de s’assurer que tout rendu asynchrone effectué par le coprocesseur de l’appareil est terminé. En appelant cette fonction, GDI synchronise l’accès à une surface gérée par l’appareil avec le pilote.

GDI n’appelle jamais DrvSynchronize pour les surfaces gérées par l’appareil. DrvSynchronize n’est pas lui-même une fonction de sortie.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winddi.h (inclure Winddi.h)

Voir aussi

DrvEnablePDEV

DrvSynchronizeSurface

EngAssociateSurface