IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)

La requête IOCTL_SERIAL_SET_MODEM_CONTROL définit le registre de contrôle de 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 demande de IOCTL_SERIAL_GET_MODEM_CONTROL .

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Le membre AssociatedIrp.SystemBuffer pointe vers un ULONG alloué par le 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 de modem (MCR) sur les appareils UART compatibles avec 16550. Les pilotes des périphériques qui se connectent aux ports série doivent éviter d’utiliser ce IOCTL, ce 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 via SERIAL_MCR_LOOP) dans le fichier d’en-tête Serial.h dans l’exemple de pilote Serial sur GitHub.

Configuration requise

   
En-tête ntddser.h (include Ntddser.h)

Voir aussi

IOCTL_SERIAL_GET_MODEM_CONTROL