Partager via


Fonction DrvSynchronizeSurface (winddi.h)

La fonction DrvSynchronizeSurface informe le pilote que GDI doit écrire sur la surface spécifiée. Cette fonction permet de coordonner les opérations de dessin effectuées par le coprocesseur d’un appareil avec GDI.

Syntaxe

void DrvSynchronizeSurface(
  SURFOBJ *pso,
  RECTL   *prcl,
  FLONG   fl
);

Paramètres

pso

Pointeur vers une structure SURFOBJ qui identifie la surface sur laquelle la synchronisation de dessin doit se produire.

prcl

Spécifie une structure RECTL qui représente la surface dans laquelle GDI dessinera, ou NULL. Si cela ne se heurte pas à l’opération de dessin en cours, le pilote peut choisir de laisser le dessin GDI sans attendre que le coprocesseur se termine.

fl

Indicateur qui spécifie l’événement pour lequel GDI effectue la demande de synchronisation. Ce paramètre peut être l’une des valeurs suivantes :

DSS_TIMER_EVENT

GDI appelle cette fonction en raison d’un événement du minuteur de synchronisation. Les événements du minuteur sont générés uniquement pour les pilotes qui spécifient le GCAPS2_SYNCTIMER bit de la structure DEVINFO .

DSS_FLUSH_EVENT

GDI appelle cette fonction en raison d’un événement de vidage de synchronisation. Ces événements de vidage sont générés uniquement pour les pilotes qui spécifient le GCAPS2_SYNCFLUSH bit de la structure DEVINFO .

Valeur de retour

None

Remarques

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

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

DrvSynchronizeSurface est destiné à prendre en charge les appareils qui utilisent un coprocesseur pour le dessin. Un tel appareil peut démarrer une longue opération de dessin et revenir à GDI pendant que l’opération se poursuit. Si le pilote de périphérique n’effectue pas toutes les opérations de dessin sur la surface, il est possible qu’une opération de dessin ultérieure soit gérée par GDI. Dans ce cas, il est nécessaire que GDI attende que le coprocesseur termine son travail avant que GDI puisse dessiner sur la surface.

Cette fonction doit être retournée lorsqu’il est sûr pour GDI de dessiner sur la surface dans la région rectangulaire spécifiée par prcl.

DrvSynchronizeSurface n’est pas en soi une fonction de sortie.

Configuration requise

   
Plateforme cible Bureau
En-tête winddi.h (inclure Winddi.h)

Voir aussi

DrvEnablePDEV

DrvSynchronize

EngAssociateSurface