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
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) |