WSAWaitForMultipleEvents()

只要指定事件對象中的一個或全部處於有信號狀態,或者逾時間隔到,則返回。

簡述

#include <winsock2.h>
DWORD WSAAPI WSAWaitForMultipleEvents( DWORD
cEvents,
const WSAEVENT FAR * lphEvents, BOOL fWaitAll,
DWORD dwTimeout,
BOOL fAlertable );
cEvents:指出lphEvents所指數組中事件對象句柄的數目。事件對象句柄的最大值為WSA_MAXIMUM_WAIT_EVENTS。
lphEvents:指向一個事件對象句柄數組的指針。
fWaitAll:指定等待類型。若為真TRUE,則當lphEvents數組中的所有事件對象同時有信號時,函式返回。若為假FALSE,則當任意一個事件對象有信號時函式即返回。在後一種情況下,返回值指出是哪一個事件對象造成函式返回。
dwTimeout:指定逾時時間間隔(以毫秒計)。當逾時間隔到,函式即返回,不論fWaitAll參數所指定的條件是否滿足。如果dwTimeout為零,則函式測試指定的時間對象的狀態,並立即返回。如果dwTimeout是WSA_INFINITE,則函式的逾時間隔永遠不會到。
fAlertable:指定當系統將一個輸入/輸出完成例程放入佇列以供執行時,函式是否返回。若為真TRUE,則函式返回且執行完成例程。若為假FALSE,函式不返回,不執行完成例程。請注意在Win16中忽略該參數。

返回值

如果函式成功,返回值指出造成函式返回的事件對象
如果函式失敗,返回值為WSA_WAIT_FAILED。可調用WSAGetLastError()來獲取進一步的錯誤信息。
錯誤代碼:
WSANOTINITIALISED 在調用本API之前應成功調用WSAStartup()。
WSAENETDOWN 網路子系統失效。
WSA_NOT_ENOUGH_MEMORY 無足夠記憶體完成該操作。
WSA_INVALID_HANDLE lphEvents數組中的一個或多個值不是合法的事件對象句柄。
WSA_INVALID_PARAMETER cEvents參數未包含合法的句柄數目。
另請參閱:WSACreateEvent(), WSACloseEvent().

相關詞條

相關搜尋

熱門詞條

聯絡我們