Partager via


VideoPortWaitForSingleObject, fonction (video.h)

La fonction VideoPortWaitForSingleObject place le thread actuel dans un état d’attente jusqu’à ce que l’objet dispatch donné soit défini sur l’état signalé, ou (éventuellement) jusqu’à ce que l’attente expire.

Syntaxe

VIDEOPORT_API VP_STATUS VideoPortWaitForSingleObject(
  [in] IN PVOID          HwDeviceExtension,
  [in] IN PVOID          Object,
  [in] IN PLARGE_INTEGER Timeout
);

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique du pilote miniport.

[in] Object

Pointeur vers l’objet d’événement.

[in] Timeout

(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 d’attente 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 modifications de temps système.

Valeur de retour

VideoPortWaitForSingleObject retourne l’une des valeurs suivantes :

Retourner le code Description
ERROR_INVALID_PARAMETER L’un des paramètres n’est pas valide ou l’appel a tenté d’attendre un événement utilisateur mappé.
NO_ERROR L’objet d’événement spécifié dans le paramètre pObject satisfait l’attente.
WAIT_TIMEOUT Un délai d’attente s’est produit avant que l’objet événement ait été défini sur l’état signalé. Cette valeur peut être retournée lorsque l’ensemble spécifié de conditions d’attente ne peut pas être immédiatement rempli et que le délai d’attente est défini sur zéro.

Remarques

Le pilote miniport ne doit pas tenter d’attendre un événement utilisateur mappé.

Les appelants de VideoPortWaitForSingleObject doivent s’exécuter à l'<IRQL = DISPATCH_LEVEL. En règle générale, l’appelant s’exécute à IRQL = PASSIVE_LEVEL et dans un contexte de thread nonarbitraire. Un appel à cette fonction lors de l’exécution à IRQL = DISPATCH_LEVEL est valide si et uniquement si l’appelant spécifie une valeur de délai d’attente de zéro. Autrement dit, un pilote miniport ne doit pas attendre un intervalle différent de zéro à IRQL = DISPATCH_LEVEL.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows XP et versions ultérieures des systèmes d’exploitation Windows.
plateforme cible Bureau
d’en-tête video.h (include Video.h)
bibliothèque Videoprt.lib
DLL Videoprt.sys
IRQL <= DISPATCH_LEVEL (voir la section Remarques)