Freigeben über


IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)

Die IOCTL_SERIAL_SET_MODEM_CONTROL Anforderung legt das Modemsteuerungsregister (MCR) in der UART fest. Für die vom Client bereitgestellten Registrierungseinstellungen erfolgt keine Parameterüberprüfung.

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

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der AssociatedIrp.SystemBuffer Member verweist auf eine clientgeteilte ULONG, die zum Eingeben von Modemsteuerungsinformationen verwendet wird.

Eingabepufferlänge

Der Parameters.DeviceIoControl.InputBufferLength Member wird auf die Größe eines ULONG-Elements in Bytes festgelegt.

Ausgabepuffer

Nichts.

Länge des Ausgabepuffers

Nichts.

Statusblock

Das Information Member ist auf Null festgelegt.

Der Status- Member ist auf einen der generischen Statuswerte für anforderungen für serielle Gerätesteuerungfestgelegt.

Bemerkungen

Die Implementierung dieser I/O-Steuerungsanforderung (IOCTL) ist hardwarespezifisch, da kein Standardlayout für das Modemsteuerungsregister (MCR) für 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. Diese IOCTL wird in erster Linie verwendet, um die UART zum Testen in den Loopbackmodus zu konfigurieren, aber nur, wenn die UART über einen MCR verfügt, der den Loopbackmodus unterstützt.

Ein Beispiellayout eines MCR finden Sie unter 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)

Siehe auch

IOCTL_SERIAL_GET_MODEM_CONTROL