IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)

Die IOCTL_SERIAL_SET_MODEM_CONTROL-Anforderung legt das Modemsteuerungsregister (MCR) im UART fest. Die Überprüfung von Parametern erfolgt nicht auf den vom Client bereitgestellten Registereinstellungen.

Um den Wert des MCR abzurufen, kann ein Client eine IOCTL_SERIAL_GET_MODEM_CONTROL Anforderung verwenden.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Das Member "AssociatedIrp.SystemBuffer " verweist auf eine clientbezogene ULONG, die zum Eingeben von Modemsteuerungsinformationen verwendet wird.

Eingabepufferlänge

Das Member "Parameters.DeviceIoControl.InputBufferLength " wird auf die Größe eines ULONG-Elements festgelegt.

Ausgabepuffer

Keiner.

Ausgabepufferlänge

Keiner.

Statusblock

Das Element "Information" ist auf Null festgelegt.

Das Statusmitglied wird auf einen der generischen Statuswerte für serielle Gerätesteuerungsanforderungen festgelegt.

Bemerkungen

Die Implementierung dieser I/O-Steuerelementanforderung (IOCTL) ist hardwarespezifisch, da kein Standardlayout für das Modemsteuerungsregister (MCR) über 16550 kompatible UART-Geräte definiert ist. Die Treiber für Peripheriegeräte, die eine Verbindung mit seriellen Ports herstellen, sollten die Verwendung dieses IOCTL vermeiden, was möglicherweise mit einigen UARTs, aber nicht mit anderen funktioniert. Dieses IOCTL wird hauptsächlich verwendet, um den UART-Modus im Loopbackmodus zu konfigurieren, aber nur, wenn die UART über einen MCR verfügt, der Loopbackmodus unterstützt.

Ein Beispiellayout eines MCR finden Sie unter der Definition der MCR-Bits (SERIAL_MCR_DTR bis SERIAL_MCR_LOOP) in der Serial.h-Headerdatei im Serial-Treiberbeispiel auf GitHub.

Anforderungen

   
Header ntddser.h (enthalten Ntddser.h)

Weitere Informationen

IOCTL_SERIAL_GET_MODEM_CONTROL