Freigeben über


IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)

Die IOCTL_SERIAL_SET_MODEM_CONTROL Anforderung legt das Modemsteuerungsregister (MCR) im UART fest. Für die vom Client bereitgestellten Registereinstellungen wird keine Parameterüberprüfung durchgeführt.

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

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Das AssociatedIrp.SystemBuffer-Element verweist auf eine vom Client zugewiesene ULONG, die zum Eingeben von Modemsteuerungsinformationen verwendet wird.

Eingabepufferlänge

Das Parameters.DeviceIoControl.InputBufferLength-Element ist auf die Größe eines ULONG-Elements in Bytes festgelegt.

Ausgabepuffer

Keine.

Länge des Ausgabepuffers

Keine.

Statusblock

Das Element Information ist auf 0 festgelegt.

Das Statuselement ist auf einen der generischen Statuswerte für Anforderungen zur seriellen Gerätesteuerung festgelegt.

Hinweise

Die Implementierung dieser E/A-Steuerungsanforderung (IOCTL) ist hardwarespezifisch, da für das Modemsteuerungsregister (Modem Control Register, MCR) kein Standardlayout für 16550-kompatible UART-Geräte definiert ist. Die Treiber für Peripheriegeräte, die mit seriellen Ports verbunden sind, sollten die Verwendung dieser IOCTL vermeiden, die möglicherweise mit einigen UARTs, aber nicht mit anderen funktioniert. Diese IOCTL wird in erster Linie verwendet, um die UART zum Testen in den Loopbackmodus zu konfigurieren, aber nur, wenn der UART über einen MCR verfügt, der den Loopbackmodus unterstützt.

Ein Beispiellayout eines MCR finden Sie in der Definition der MCR-Bits (SERIAL_MCR_DTR bis SERIAL_MCR_LOOP) in der Headerdatei Serial.h im Beispiel für serielle Treiber auf GitHub.

Anforderungen

Anforderung Wert
Header ntddser.h (include Ntddser.h)

Weitere Informationen

IOCTL_SERIAL_GET_MODEM_CONTROL