IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)
La requête IOCTL_SERIAL_SET_MODEM_CONTROL définit le registre de contrôle du modem (MCR) dans l’UART. Aucune vérification des paramètres n’est effectuée sur les paramètres d’inscription fournis par le client.
Pour obtenir la valeur du MCR, un client peut utiliser une requête IOCTL_SERIAL_GET_MODEM_CONTROL .
Code principal
Mémoire tampon d'entrée
Le membre AssociatedIrp.SystemBuffer pointe vers un ULONG alloué au client qui est utilisé pour entrer des informations de contrôle de modem.
Longueur de la mémoire tampon d’entrée
Le membre Parameters.DeviceIoControl.InputBufferLength est défini sur la taille, en octets, d’un ULONG.
Mémoire tampon de sortie
Aucun.
Longueur de la mémoire tampon de sortie
Aucun.
Bloc d’état
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
L’implémentation de cette demande de contrôle d’E/S (IOCTL) est spécifique au matériel, car aucune disposition standard n’est définie pour le registre de contrôle des modems (MCR) sur les appareils UART compatibles avec 16550. Les pilotes des périphériques qui se connectent à des ports série doivent éviter d’utiliser ce IOCTL, qui peut fonctionner avec certains UART, mais pas avec d’autres. Ce IOCTL est principalement utilisé pour configurer l’UART en mode bouclage à des fins de test, mais uniquement si l’UART a un MCR qui prend en charge le mode bouclage.
Pour obtenir un exemple de disposition d’un MCR, consultez la définition des bits MCR (SERIAL_MCR_DTR à SERIAL_MCR_LOOP) dans le fichier d’en-tête Serial.h dans l’exemple de pilote série sur GitHub.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddser.h (inclure Ntddser.h) |