WSAWaitForMultipleEvents()

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

基本介紹

  • 外文名:WSAWaitForMultipleEvents()
  • 返回情況:逾時間隔到等
  • 性質:函式
  • 類型:C語言
#include <winsock2.h>
DWORD WSAAPI WSAWaitForMultipleEvents(DWORDcEvents,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_EVENT_0才是這個事件在事件數組中的位置。
如果函式失敗,返回值為WSA_WAIT_FAILED。可調用WSAGetLastError來獲取進一步的錯誤信息
WSANOTINITIALISED 在調用本API之前應成功調用WSAStartup()。
WSAENETDOWN 網路子系統失效。
WSA_NOT_ENOUGH_MEMORY 無足夠記憶體完成該操作。
WSA_INVALID_HANDLE lphEvents數組中的一個或多個值不是合法的事件對象句柄。
WSA_INVALID_PARAMETER cEvents參數未包含合法的句柄數目。

相關詞條

熱門詞條

聯絡我們