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
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) |