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 temps d’expiration absolus suivent les modifications apportées à l’heure système ; les temps d’expiration relatifs ne sont pas affectés par les changements d’heure système.

Valeur retournée

VideoPortWaitForSingleObject retourne l’une des valeurs suivantes :

Code de retour 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 a satisfait à l’attente.
WAIT_TIMEOUT Un délai d’attente s’est produit avant que l’objet événement soit défini sur l’état signalé. Cette valeur peut être retournée lorsque le jeu de conditions d’attente spécifié ne peut pas être immédiatement rempli et que le délai d’expiration 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 sur IRQL <= DISPATCH_LEVEL. En règle générale, l’appelant s’exécute à IRQL = PASSIVE_LEVEL et dans un contexte de thread nonarbitrary. Un appel à cette fonction lors de l’exécution sur IRQL = DISPATCH_LEVEL est valide si et uniquement si l’appelant spécifie une valeur de délai d’expiration de zéro. Autrement dit, un pilote miniport ne doit pas attendre un intervalle différent de zéro à IRQL = DISPATCH_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows XP et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête video.h (incluez Video.h)
Bibliothèque Videoprt.lib
DLL Videoprt.sys
IRQL <= DISPATCH_LEVEL (voir la section Notes)