Partager via


IOCTL_SERIAL_GET_WAIT_MASK IOCTL (ntddser.h)

La requête IOCTL_SERIAL_GET_WAIT_MASK retourne le masque d’attente d’événement actuellement défini pour le contrôleur série.

Un client peut attendre les événements d’attente représentés par des bits d’indicateur SERIAL_EV_RXCHAR via SERIAL_EV_EVENT2. Pour plus d’informations sur ces indicateurs d’événement, consultez la section Remarques.

Pour définir un masque d’attente d’événement, un client peut utiliser une demande de IOCTL_SERIAL_SET_WAIT_MASK. Pour attendre l’occurrence d’un événement d’attente, un client utilise une demande de IOCTL_SERIAL_WAIT_ON_MASK.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

Aucun.

Longueur de la mémoire tampon d’entrée

Aucun.

Mémoire tampon de sortie

Le membre AssociatedIrp.SystemBuffer pointe vers une mémoire tampon ULONG allouée au client utilisée par le pilote du contrôleur série pour générer le masque d’attente. Le masque d’attente est égal à zéro ou au niveau du bit OU d’un ou plusieurs indicateurs d’événements SERIAL_EV_XXX.

Longueur de la mémoire tampon de sortie

Le membre Parameters.DeviceIoControl.OutputBufferLength est défini sur la taille, en octets, d’un ULONG.

Bloc d’état

Si la requête réussit, l'Informations membre est défini sur la taille, en octets, d’un ULONG. Dans le cas contraire, le membre Information est défini sur zéro.

Le membre Status est défini sur l’une des valeurs d’état génériques pour les demandes de contrôle d’appareil série.

Remarques

Les constantes SERIAL_EV_XXX définissent les bits d’indicateur dans le masque d’attente pour un port série.

#define SERIAL_EV_RXCHAR     0x0001
#define SERIAL_EV_RXFLAG     0x0002
#define SERIAL_EV_TXEMPTY    0x0004
#define SERIAL_EV_CTS        0x0008
#define SERIAL_EV_DSR        0x0010
#define SERIAL_EV_RLSD       0x0020
#define SERIAL_EV_BREAK      0x0040
#define SERIAL_EV_ERR        0x0080
#define SERIAL_EV_RING       0x0100
#define SERIAL_EV_PERR       0x0200
#define SERIAL_EV_RX80FULL   0x0400
#define SERIAL_EV_EVENT1     0x0800
#define SERIAL_EV_EVENT2     0x1000

Les constantes SERIAL_EV_XXX définissent les types d’événements qui peuvent être spécifiés dans un masque d’attente. Une fois qu’un client (application ou pilote périphérique) ouvre une connexion à un port série, le client peut spécifier un masque d’attente qui indique les types d’événements dont le client a besoin pour surveiller. Ces événements sont des modifications dans l’état matériel du port série. Lorsqu’un événement dans le masque d’attente se produit, le client est averti.

Les demandes de contrôle IOCTL_SERIAL_SET_WAIT_MASK et IOCTL_SERIAL_GET_WAIT_MASK utilisent des masques d’attente d’événements pour spécifier un ensemble d’événements sur lesquels un client peut attendre. Une valeur de masque d’attente est égale à zéro ou au niveau du bit OU d’une ou plusieurs constantes SERIAL_EV_XXX. Une valeur de masque d’attente de zéro indique que le client n’attend aucun événement.

Le client envoie une demande de contrôle IOCTL_SERIAL_WAIT_ON_MASK pour attendre un événement dans le masque d’attente actuellement défini. Le pilote du contrôleur série termine cette requête lorsqu’un événement dans le masque d’attente se produit.

Le tableau suivant indique les bits d’indicateur SERIAL_EV_XXX pris en charge par SerCx2, SerCx et Serial.sys. Une entrée Oui dans la table indique que l’extension ou le pilote du framework série prend en charge le bit d’indicateur correspondant. Une entrée Aucun indique que le bit d’indicateur n’est pas pris en charge.

Bit d’indicateur SerCx2 SerCx Serial.sys
SERIAL_EV_RXCHAR Oui Oui Oui
SERIAL_EV_RXFLAG Voir la note. Non Oui
SERIAL_EV_TXEMPTY Oui Oui Oui
SERIAL_EV_CTS Oui Oui Oui
SERIAL_EV_DSR Oui Oui Oui
SERIAL_EV_RLSD Voir la note. Oui Oui
SERIAL_EV_BREAK Oui Oui Oui
SERIAL_EV_ERR Oui Oui Oui
SERIAL_EV_RING Voir la note. Oui Oui
SERIAL_EV_PERR Voir la note. Non Non
SERIAL_EV_RX80FULL Voir la note. Non Oui
SERIAL_EV_EVENT1 Voir la note. Non Non
SERIAL_EV_EVENT2 Voir la note. Non Non
 
Remarque SerCx2 peut ou non prendre en charge le bit d’indicateur dans l’entrée de table indiquée, en fonction du pilote du contrôleur série et des fonctionnalités du matériel du contrôleur série.
 
Pour plus d’informations sur SerCx2, SerCx et Serial.sys, consultez Vue d’ensemble des pilotes de contrôleur série.

Exigences

Exigence Valeur
d’en-tête ntddser.h (include Ntddser.h)

Voir aussi

IOCTL_SERIAL_GET_CHARS

IOCTL_SERIAL_SET_CHARS

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_CHARS

SERIAL_STATUS