Event Objects (Windows Sockets 2)

引進重迭的 I/O 需要一種機制,讓應用程式明確地將傳送和接收要求與其後續完成指示產生關聯。 在 Windows Sockets 2 中,這是使用在Windows事件之後建立模型的事件物件來完成。 Windows Sockets 事件物件是相當簡單的建構,可以建立和關閉、設定和清除,以及等候和輪詢。 其主要公用程式是應用程式封鎖並等候一或多個事件物件設定的能力。

應用程式會使用WSACreateEvent來取得事件物件控制碼,然後可作為重迭版本的傳送和接收呼叫的必要參數, ( WSASendWSASendToWSARecv、WSARecvFrom) 。 第一次建立時清除的事件物件是由傳輸提供者在相關聯的重迭 I/O 作業順利完成時設定, (成功或發生錯誤) 。 WSACreateEvent所建立的每個事件物件都應該有相符的WSACloseEvent來終結它。

WSAEventSelect中也會使用事件物件,將一或多個FD_XXX網路事件與事件物件產生關聯。 這會在 使用事件物件進行非同步通知中說明。

在 32 位環境中,事件物件相關的函式,包括WSACreateEvent、WSACloseEventWSASetEventWSAResetEventWSAWaitForMultipleEvents會直接對應至對應的原生Windows函式,但不含 WSA 前置詞。