IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)
La solicitud de IOCTL_SERIAL_SET_MODEM_CONTROL establece el registro de control de módem (MCR) en el UART. No se realiza ninguna comprobación de parámetros en la configuración de registro proporcionada por el cliente.
Para obtener el valor de MCR, un cliente puede usar una solicitud de IOCTL_SERIAL_GET_MODEM_CONTROL .
Código principal
Búfer de entrada
El miembro AssociatedIrp.SystemBuffer apunta a un ULONG asignado por el cliente que se usa para introducir información de control del módem.
Longitud del búfer de entrada
El miembro Parameters.DeviceIoControl.InputBufferLength se establece en el tamaño, en bytes, de un ULONG.
Búfer de salida
Ninguno.
Longitud del búfer de salida
Ninguno.
Bloque de estado
El miembro Information se establece en cero.
El miembro Status se establece en uno de los valores de estado genéricos para las solicitudes de control de dispositivos serie.
Comentarios
La implementación de esta solicitud de control de E/S (IOCTL) es específica del hardware porque no se define ningún diseño estándar para el registro de control de módem (MCR) en dispositivos UART compatibles con 16550. Los controladores para dispositivos periféricos que se conectan a puertos serie deben evitar el uso de este IOCTL, que podría funcionar con algunos UART, pero no con otros. Este IOCTL se usa principalmente para configurar el UART en modo de bucle invertido para las pruebas, pero solo si el UART tiene un MCR que admite el modo de bucle invertido.
Para obtener un diseño de ejemplo de MCR, consulte la definición de los bits de MCR (SERIAL_MCR_DTR a través de SERIAL_MCR_LOOP) en el archivo de encabezado Serial.h en el ejemplo de controlador serie en GitHub.
Requisitos
Requisito | Valor |
---|---|
Header | ntddser.h (incluya Ntddser.h) |