Erweiterte Funktionen
Einige Kommunikationsfunktionen können für ein Gerät mithilfe der EscapeCommFunction-Funktion aufgerufen werden. Diese Funktion sendet einen Code, um das Gerät anweisen, eine erweiterte Funktion auszuführen. 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 durch Aufrufen der Funktionen SetCommBreak und ClearCommBreak gestartet werden. EscapeCommFunction kann auch verwendet werden, um die manuelle Modemsteuerung zu implementieren. Beispielsweise können die Codes CLRDTR und SETDTR verwendet werden, um eine 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 für dtR-Handshaking konfiguriert wurde, oder die RTS-Zeile (Request-to-Send), 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, Funktionen, die von den seriellen Standardkommunikationsfunktionen nicht unterstützt werden. Sie ermöglicht es einer Anwendung, ein Gerät mithilfe von für dieses Gerät eindeutigen Parametern zu konfigurieren und gerätespezifische Funktionen aufzurufen.