Partager via


Fonction EngWaitForSingleObject (winddi.h)

La fonction EngWaitForSingleObject place le thread actuel du pilote d’affichage dans un état d’attente jusqu’à ce que l’objet d’événement spécifié soit défini sur l’état signalé ou jusqu’à ce que l’attente expire.

Syntaxe

ENGAPI BOOL EngWaitForSingleObject(
  [in] PEVENT         pEvent,
  [in] PLARGE_INTEGER pTimeOut
);

Paramètres

[in] pEvent

Pointeur vers un objet d’événement initialisé. Ce handle d’objet d’événement a été obtenu lors d’un appel précédent à EngCreateEvent.

[in] pTimeOut

(Facultatif) Pointeur vers une valeur de délai d’attente qui spécifie l’heure absolue ou relative à laquelle l’attente doit être terminée. Une valeur négative spécifie un intervalle par rapport à l’heure actuelle. La valeur doit être exprimée en unités de 100 nanosecondes. Les heures d’expiration absolues suivent les modifications apportées à l’heure système ; les heures d’expiration relatives ne sont pas affectées par les changements d’heure système. Si pTimeOut a la valeur NULL, le thread appelant reste dans un état d’attente jusqu’à ce que l’objet d’événement soit signalé.

Valeur retournée

EngWaitForSingleObject retourne TRUE en cas de réussite, ce qui inclut l’occurrence d’un délai d’expiration. Sinon, il retourne FALSE. Une valeur de retour FALSE indique que l’un des paramètres n’est pas valide.

Remarques

EngWaitForSingleObject entraîne la mise en état d’attente d’un thread de pilote d’affichage. Le thread du pilote d’affichage reste à l’état d’attente jusqu’à ce que l’objet d’événement soit défini sur l’état signalé ou jusqu’à ce que l’attente expire. Si aucune valeur de délai d’attente n’est fournie, le thread du pilote d’affichage reste à l’état d’attente jusqu’à ce que l’objet d’événement soit défini sur l’état signalé.

Un événement de synchronisation est automatiquement réinitialisé à l’état non signé lorsque l’attente est satisfaite. Ainsi, une seule attente sera satisfaite par appel à EngSetEvent ou VideoPortSetEvent. En revanche, un événement de notification ne sera pas réinitialisé automatiquement.

Une valeur de délai d’attente égale à zéro permet au pilote de tester la condition d’attente et d’effectuer des effets secondaires conditionnels, à condition que l’attente puisse être satisfaite immédiatement.

Le pilote d’affichage peut synchroniser les opérations de dessin entre lui-même et le pilote de miniport vidéo en appelant EngWaitForSingleObject avec un objet d’événement et en attendant que le pilote de miniport définisse l’objet événement à l’état signalé.

Le pilote ne peut pas appeler EngWaitForSingleObject sur les événements retournés par EngMapEvent.

Configuration requise

   
Client minimal pris en charge Cette fonction est disponible dans Windows XP et versions ultérieures.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys

Voir aussi

EngCreateEvent

EngSetEvent

VideoPortSetEvent