Lese- und Schreibvorgänge

Windows unterstützt sowohl synchrone als auch asynchrone (überlappende) Datei-I/O-Vorgänge auf seriellen Kommunikationsressourcen. Überlappende Vorgänge ermöglichen es dem Aufrufthread, andere Aufgaben auszuführen, während der Vorgang im Hintergrund ausgeführt wird. Ein Thread verwendet die Funktion "ReadFile " oder " ReadFileEx ", um aus einer Kommunikationsressource zu lesen, und die Funktion "WriteFile " oder "WriteFileEx " zum Schreiben in eine Kommunikationsressource. ReadFile und WriteFile können synchron oder asynchron ausgeführt werden. ReadFileEx und WriteFileEx können nur asynchron ausgeführt werden.

Das Verhalten dieser Lese- und Schreibfunktionen ist davon betroffen, ob die Funktion als überlappender Vorgang ausgeführt wird, ob die Timeoutparameter dem Handle zugeordnet sind und ob Ablaufsteuerungsparameter dem Handle zugeordnet sind.

Ein Thread kann auch mit der TransmissionCommChar-Funktion in eine Kommunikationsressource schreiben, die ein angegebenes Zeichen vor allen ausstehenden Daten im Ausgabepuffer sendet. Diese Funktion ist nützlich, um ein Signalzeichen mit hoher Priorität an das Empfangenssystem zu übertragen. Die Übertragung des Zeichens mit hoher Priorität unterliegt weiterhin der Flusssteuerung und dem Schreiben von Timeouts, und der Vorgang wird synchron ausgeführt.

Ein Thread kann die PurgeComm-Funktion verwenden, um alle Zeichen im Ausgabe- oder Eingabepuffer eines Geräts zu verwerfen. PurgeComm kann auch ausstehende Lese- oder Schreibvorgänge beenden, auch wenn die Vorgänge nicht abgeschlossen wurden. Wenn ein Thread PurgeComm verwendet, um einen Ausgabepuffer zu löschen, werden die gelöschten Zeichen nicht übertragen. Um den Ausgabepuffer zu leeren, während sichergestellt wird, dass der Inhalt übertragen wird, kann ein Thread die Funktion FlushFileBuffers (eine synchrone Operation) aufrufen. Beachten Sie jedoch, dass FlushFileBuffers dem Flusssteuerelement unterliegen, aber keine Timeouts schreiben, und es wird erst zurückgegeben, wenn alle ausstehenden Schreibvorgänge übertragen wurden.