PDD_WAITFORVERTICALBLANK fonction de rappel (ddrawint.h)
La fonction de rappel DdWaitForVerticalBlank retourne la status vide verticale de l’appareil.
Syntaxe
PDD_WAITFORVERTICALBLANK PddWaitforverticalblank;
DWORD PddWaitforverticalblank(
PDD_WAITFORVERTICALBLANKDATA unnamedParam1
)
{...}
Paramètres
unnamedParam1
Pointe vers une structure DD_WAITFORVERTICALBLANKDATA qui contient les informations requises pour obtenir le status vide vertical.
Valeur retournée
DdWaitForVerticalBlank retourne l’un des codes de rappel suivants :
Remarques
Selon la valeur du membre dwFlags de la structure DD_WAITFORVERTICALBLANKDATA sur lpWaitForVerticalBlank, le pilote doit effectuer les opérations suivantes :
- Si dwFlags est DDWAITVB_I_TESTVB, le pilote doit interroger le status de remplissage vertical actuel. Le pilote doit définir le membre bIsInVB de DD_WAITFORVERTICALBLANKDATA sur TRUE si le moniteur est actuellement dans un vide vertical ; sinon, le pilote doit définir bIsInVB sur FALSE.
- Si dwFlags est DDWAITVB_BLOCKBEGIN, le pilote doit bloquer et attendre qu’un vide vertical commence. Si un vide vertical est en cours lorsque le pilote commence le bloc, le pilote doit attendre que le vide vertical suivant commence avant de revenir.
- Si dwFlags est DDWAITVB_BLOCKEND, le pilote doit bloquer et attendre qu’un vide vertical se termine.
DdWaitForVerticalBlank permet à une application de se synchroniser avec l’intervalle de remplissage vertical (VBI).
Il existe également un problème avec les tests de compatibilité d’affichage (DCT) WHQL. L’un des DCT pour la gestion de l’alimentation met le moniteur hors tension, puis interroge le status vide vertical, en attendant qu’il change. Si le pilote signale toujours le même status vide vertical lorsque le moniteur est mis hors tension, l’application de test se bloque en attendant que le résultat change. Ce problème a été résolu dans l’exemple de pilote Permedia2 en retournant des résultats en alternance alors que le moniteur est hors tension. Autrement dit, la première fois que le point d’entrée DdWaitForVerticalBlank du pilote est appelé avec l’indicateur DDWAIT_I_TESTVB (lorsque le moniteur est hors tension), il retourne FALSE, la prochaine fois qu’il retourne TRUE, la prochaine fois FALSE, etc.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ddrawint.h (incluez Winddi.h) |