讀取和寫入作業

Windows支援串列通訊資源的同步和非同步 (重迭) 檔案 I/O 作業。 重迭的作業可讓呼叫執行緒在背景中執行作業時執行其他工作。 執行緒會使用 ReadFileReadFileEx 函式從通訊資源讀取,而 WriteFileWriteFileEx 函式則會寫入通訊資源。 ReadFileWriteFile 可以同步或非同步執行。 ReadFileExWriteFileEx 只能以非同步方式執行。

這些讀取和寫入函式的行為會受到函式是否以重迭作業的形式執行、逾時參數是否與控制碼相關聯,以及流程式控制制參數是否與控制碼相關聯。

執行緒也可以使用 TransmitCommChar 函式寫入通訊資源,此函式會在輸出緩衝區中的任何擱置資料之前傳輸指定的字元。 此函式適用于將高優先順序訊號字元傳送至接收系統。 高優先順序字元的傳輸仍受限於流程式控制制和寫入逾時,且作業會同步執行。

執行緒可以使用 PurgeComm 函式來捨棄裝置輸出或輸入緩衝區中的所有字元。 PurgeComm 也可以終止擱置的讀取或寫入作業,即使作業尚未完成也一樣。 如果執行緒使用 PurgeComm 排清輸出緩衝區,則不會傳輸已刪除的字元。 若要在確保傳輸內容的同時清空輸出緩衝區,執行緒可以呼叫 FlushFileBuffers 函式 (同步作業) 。 不過請注意, FlushFileBuffers 受限於流程式控制制,但不會寫入逾時,而且在傳輸所有擱置的寫入作業之前都不會傳回。