Partager via


Fonction SerCxCompleteWait (sercx.h)

La méthode SerCxCompleteWait avertit l’extension d’infrastructure série (SerCx) qu’un événement dans le masque d’attente actuel s’est produit.

Syntaxe

NTSTATUS SerCxCompleteWait(
  [in] WDFDEVICE Device,
  [in] ULONG     Event
);

Paramètres

[in] Device

Un handle WDFDEVICE pour l’objet d’appareil framework qui représente le contrôleur série.

[in] Event

Type d’événement qui met fin à l’opération d’attente actuelle. Ce paramètre est une valeur de masque d’attente. Chaque type d’événement correspond à un bit particulier dans le masque d’attente. Ce bit est défini pour indiquer que l’événement correspondant s’est produit. Pour plus d’informations sur les types d’événements qui peuvent être spécifiés par un masque d’attente, consultez SERIAL_EV_XXX.

Valeur retournée

SerCxCompleteWait retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles incluent le code status suivant.

Code de retour Description
STATUS_INVALID_PARAMETER
L’événement spécifié n’est pas inclus dans le masque d’attente actuel.

Remarques

Lorsque SerCx reçoit une requête IOCTL_SERIAL_SET_WAIT_MASK d’un client, le gestionnaire de demandes dans SerCx appelle la fonction de rappel EvtSerCxWaitmask pour avertir le pilote du contrôleur série que le masque d’attente a changé. Le masque d’attente spécifie un ensemble d’événements matériels que le contrôleur série doit surveiller. Pendant cet appel, le pilote ignore tout ancien masque d’attente qui aurait pu être spécifié dans un appel EvtSerCxWaitmask précédent, puis configure le matériel du contrôleur série pour détecter les événements dans le nouveau masque d’attente.

Plus tard, lorsqu’un événement dans le nouveau masque d’attente se produit, le pilote appelle SerCxCompleteWait pour informer SerCx de l’événement. Si une requête IOCTL_SERIAL_WAIT_ON_MASK précédemment envoyée est en attente, SerCxCompleteWait termine cette demande avec une status de STATUS_SUCCESS et un masque d’attente de sortie qui indique l’événement qui s’est produit. Sinon, SerCxCompleteWait stocke l’événement dans son historique interne des événements en prévision d’une demande de IOCTL_SERIAL_WAIT_ON_MASK future.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
Plateforme cible Universal
En-tête sercx.h
IRQL <= DISPATCH_LEVEL

Voir aussi

EvtSerCxWaitmask

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_EV_XXX

SerCxGetWaitMask