IOCTL_SERIAL_LSRMST_INSERT IOCTL (ntddser.h)
La demande IOCTL_SERIAL_LSRMST_INSERT active ou désactive l’insertion d’informations sur l’état de ligne et le 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 l’état de ligne. 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 correspond à la valeur du registre d’état de ligne suivi du caractère présent dans le matériel de réception lorsque la modification de l’état de ligne a été traitée.
- SERIAL_LSRMST_LSR_NODATA
- Une modification de l’état de ligne s’est produite, mais aucune donnée n’a été 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 du registre d’état de ligne lorsque le changement d’état de ligne a été traité.
- SERIAL_LSRMST_MST
- Une modification s’est produite dans l’état 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 registre d’état du modem lorsque la modification de l’état du 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
Mémoire tampon d’entrée
Le membre AssociatedIrp.SystemBuffer pointe vers une valeur d’entrée UCHAR allouée au client à utiliser comme caractère d’échappement. Si le caractère d’échappement n’est pas 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 requête réussit, le membre Information est défini sur la taille, en octets, d’un UCHAR. Sinon, ' d’informations est définie 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. Un état de STATUS_INVALID_PARAMETER indique que le caractère d’échappement spécifié est le même que le caractère XON (transmettre sur) ou XOFF (transmettre hors) ou que le remplacement d’erreur est activé avec le contrôle de flux de négociation.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntddser.h (include Ntddser.h) |