Partager via


IOCTL_SERIAL_LSRMST_INSERT IOCTL (ntddser.h)

La demande IOCTL_SERIAL_LSRMST_INSERT active ou désactive l’insertion d’informations sur les status de ligne et les status de modem dans le flux de données de réception. Si l’insertion LSRMST est activée, le pilote insère des informations d’événement pour les types d’événements pris en charge. Les informations sur l’événement incluent un en-tête d’événement suivi de données spécifiques à l’événement.

L’en-tête d’événement contient un caractère d’échappement spécifié par le client et une constante SERIAL_LSRMST_XXX qui indique le type d’événement. Le pilote prend en charge les types d’événements suivants :

SERIAL_LSRMST_LSR_DATA
Une modification s’est produite dans la ligne status. Le pilote du contrôleur série insère un en-tête d’événement suivi des données spécifiques à l’événement, qui est la valeur de la ligne status inscrire suivie du caractère présent dans le matériel de réception lors du traitement de la modification status ligne.
SERIAL_LSRMST_LSR_NODATA
Une ligne status modification s’est produite, mais aucune donnée n’était disponible dans la mémoire tampon de réception. Le pilote du contrôleur série insère un en-tête d’événement suivi des données spécifiques à l’événement, qui est la valeur de la ligne status inscrire lors du traitement de la modification status ligne.
SERIAL_LSRMST_MST
Une modification s’est produite dans le status du modem. Le pilote du contrôleur série insère un en-tête d’événement suivi des données spécifiques à l’événement, qui est la valeur du modem status inscrire lorsque la modification status modem a été traitée.
SERIAL_LSRMST_ESCAPE
Indique que le caractère suivant dans le flux de données de réception, qui a été reçu de l’appareil, est identique au caractère d’échappement spécifié par le client. Le pilote du contrôleur série insère un en-tête d’événement. Il n’existe aucune donnée spécifique à l’événement.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Le membre AssociatedIrp.SystemBuffer pointe vers une valeur d’entrée UCHAR allouée par le client à utiliser comme caractère d’échappement. Si le caractère d’échappement est différent de zéro, l’insertion est activée et le pilote série utilise le caractère d’échappement spécifié. Sinon, l’insertion est désactivée.

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

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

Mémoire tampon de sortie

Aucun.

Longueur de la mémoire tampon de sortie

Aucun.

Bloc d’état

Si la demande réussit, le membre Information est défini sur la taille, en octets, d’un UCHAR. Sinon, 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 en série. Une status de STATUS_INVALID_PARAMETER indique que le caractère d’échappement spécifié est le même que le caractère XON (transmission sur) ou XOFF (transmission désactivée), ou que le remplacement d’erreur est activé avec le contrôle de flux de négociation.

Configuration requise

Condition requise Valeur
En-tête ntddser.h (incluez Ntddser.h)