Partager via


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

IRP_MJ_DEVICE_CONTROL

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)

Voir aussi

IOCTL_SERIAL_GET_MODEM_CONTROL