LPWSPENUMNETWORKEVENTS 回呼函式 (ws2spi.h)
LPWSPEnumNetworkEvents 函式會報告所指出套接字的網路事件發生次數。
語法
LPWSPENUMNETWORKEVENTS Lpwspenumnetworkevents;
int Lpwspenumnetworkevents(
[in] SOCKET s,
[in] WSAEVENT hEventObject,
[out] LPWSANETWORKEVENTS lpNetworkEvents,
[out] LPINT lpErrno
)
{...}
參數
[in] s
識別套接字的描述項。
[in] hEventObject
選擇性句柄,識別要重設的相關聯事件物件。
[out] lpNetworkEvents
WSANETWORKEVENTS 結構的指標,此結構會填入發生之網路事件的記錄和任何相關聯的錯誤碼。 WSANETWORKEVENTS 結構定義於下列文字中。
[out] lpErrno
錯誤碼的指標。
傳回值
如果作業成功,則傳回值為零。 否則會傳回值SOCKET_ERROR,而且 lpErrno 中提供特定的錯誤號碼。
錯誤碼 | 意義 |
---|---|
網路子系統失敗。 | |
表示其中一個指定的參數無效。 | |
封鎖的 Windows Sockets 呼叫正在進行中,或者服務提供者仍在處理回呼函式。 | |
描述項不是套接字。 |
備註
此函式用來報告自此函式上次叫用后,所指出套接字發生的網路事件。 它適用於與 LPWSPEventSelect 和 LPWSPAsyncSelect 搭配使用,這會將事件物件與一或多個網路事件產生關聯。 當使用非零 lNetworkEvents 自變數呼叫 LPWSPEventSelect 或 LPWSPAsyncSelect 時,網路事件的記錄就會開始,直到對 LPWSPEventSelect 或 LPWSPAsyncSelect 進行另一個對應的呼叫,lNetworkEvents 自變數設為零為止。
LPWSPEnumNetworkEvents 只會報告透過 LPWSPEventSelect 提名的網路活動和錯誤。 請參閱 LPWSPSelect 和 LPWSPAsyncSelect 的描述,以了解這些函式如何報告網路活動和錯誤。
套接字的網路事件內部記錄會複製到 lpNetworkEvents 所參考的結構,之後會清除內部網路事件記錄。 如果 hEventObject 為非 Null,則表示的事件物件也會重設。 Windows Sockets 提供者保證複製網路事件記錄、清除記錄,以及重設任何相關聯的事件物件都是不可部分完成的作業,如此一來,下一次出現的已提名網路事件將會導致事件物件設定。 在此函式傳回SOCKET_ERROR的情況下,不會重設相關聯的事件物件,也不會清除網路事件的記錄。
WSANETWORKEVENTS 結構定義於 WSANETWORKEVENTS 參考頁面上。
WSANETWORKEVENTS 結構的 lNetworkEvents 成員表示發生FD_XXX網路事件。 iErrorCode 陣列可用來包含任何相關聯的錯誤碼,其中陣列索引對應至 lNetworkEvents 中事件位的位置。 FD_READ_BIT和FD_WRITE_BIT等標識碼可用來編製 iErrorCode 陣列的索引。
請注意,只有 iErrorCode 陣列的元素會設定為對應至 lNetworkEvents 成員中設定的位。 其他成員不會修改 (這在與不知道新FD_ROUTING_INTERFACE_CHANGE和FD_ADDRESS_LIST_CHANGE事件) 的 Windows Socket 2 SPI 用戶端回溯相容性時很重要。
您可以傳回下列錯誤碼以及個別的網路事件。
事件:FD_CONNECT
錯誤碼 | 意義 |
---|---|
指定之系列中的位址無法用於此通訊端。 | |
嘗試連線已強制拒絕。 | |
此時無法透過此主機連接網路。 | |
沒有可用的緩衝區空間。 套接字無法連接。 | |
嘗試連線逾時而不建立連線。 |
事件:FD_CLOSE
錯誤碼 | 意義 |
---|---|
網路子系統失敗。 | |
線上已由遠端端重設。 | |
線上因逾時或其他失敗而終止。 |
事件:FD_READ、FD_WRITE、FD_OOB、FD_ACCEPT、FD_QOS、FD_GROUP_QOS、FD_ADDRESS_LIST_CHANGE
錯誤碼 | 意義 |
---|---|
網路子系統失敗。 |
事件:FD_ROUTING_INTERFACE_CHANGE
錯誤碼 | 意義 |
---|---|
指定的目的地已無法再連線。 | |
網路子系統失敗。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | ws2spi.h |