Erweiterte Funktionen
Einige Kommunikationsfunktionen können mithilfe der EscapeCommFunction-Funktion für ein Gerät aufgerufen werden. Diese Funktion sendet einen Code, um das Gerät zum Ausführen einer erweiterten Funktion zu leiten. Beispielsweise kann eine Anwendung die Zeichenübertragung mit dem SETBREAK-Code anhalten und die Übertragung mit dem CLRBREAK-Code fortsetzen. Diese speziellen Vorgänge können auch gestartet werden, indem sie die funktionen SetCommBreak und ClearCommBreak aufrufen. EscapeCommFunction- kann auch verwendet werden, um manuelle Modemsteuerung zu implementieren. Beispielsweise können die CLRDTR- und SETDTR-Codes verwendet werden, um manuelle DTR-Flusssteuerung (Data-Terminal-ready) zu implementieren. Beachten Sie jedoch, dass ein Fehler auftritt, wenn ein Prozess EscapeCommFunction verwendet, um die DTR-Zeile zu bearbeiten, wenn das Gerät so konfiguriert wurde, dass DTR-Handshaking aktiviert ist, oder die RTS-Zeile (Anforderung-zu-Senden),wenn RTS-Handshaking aktiviert ist.
Die DeviceIoControl--Funktion ermöglicht es einem Prozess, einen erweiterten Funktionscode direkt an einen angegebenen Gerätetreiber zu senden, wodurch das Gerät einen bestimmten Vorgang ausführt. DeviceIoControl- bietet einem Gerät, das einer Kommunikationsressource zugeordnet ist, die von den standardmäßigen seriellen Kommunikationsfunktionen nicht unterstützt wird. Sie ermöglicht es einer Anwendung, ein Gerät mithilfe von Parametern zu konfigurieren, die für dieses Gerät eindeutig sind, sowie gerätespezifische Funktionen aufzurufen.