讀取和寫入作業

Windows 支援序列通訊資源上的同步和異步(重疊)檔案 I/O 作業。 重疊的作業可讓呼叫端線程在背景中執行時執行其他工作。 線程會使用 ReadFile ReadFileEx 函式從通訊資源讀取,以及 WriteFile WriteFileEx 函式來寫入通訊資源。 ReadFileWriteFile 可以同步或異步執行。 ReadFileExWriteFileEx 只能以異步方式執行。

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

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

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