PFN_WSK_DISCONNECT_EVENT回呼函式 (wsk.h)
WskDisconnectEvent 事件回呼函式會通知 WSK 應用程式,連線導向套接字上的連線已由遠端應用程式中斷連線。
語法
PFN_WSK_DISCONNECT_EVENT PfnWskDisconnectEvent;
NTSTATUS PfnWskDisconnectEvent(
[in, optional] PVOID SocketContext,
[in] ULONG Flags
)
{...}
參數
[in, optional] SocketContext
已中斷連線之連線導向套接字之套接字內容的指標。 WSK 應用程式會以下欄其中一種方式提供此指標給 WSK 子系統:
- 它會呼叫 WskSocket 函式來建立套接字。
- 它會呼叫 WskSocketConnect 函式來建立套接字。
- 它會呼叫 WskAccept 函式,以接受套接字作為傳入連線。
- 其 WskAcceptEvent 事件回呼函式被呼叫,以接受套接字作為傳入連線。
[in] Flags
ULONG 值,其中包含下列旗標組合的位 OR:
WSK_FLAG_ABORTIVE
遠端應用程式執行了套接字的中止中斷連線。 如果未設定此旗標,遠端應用程式會執行套接字的正常中斷連線。
WSK_FLAG_AT_DISPATCH_LEVEL
在 IRQL = DISPATCH_LEVEL,稱為 WskDisconnectEvent 事件回呼函式的 WSK 子系統。 如果未設定此旗標,WSK 子系統可能會在任何 IRQL = DISPATCH_LEVEL 呼叫 < 事件回呼函式。
傳回值
WSK 應用程式的 WskDisconnectEvent 事件回呼函式必須一律傳回STATUS_SUCCESS。
言論
WSK 子系統只有在先前使用 SO_WSK_EVENT_CALLBACK 套接字選項啟用事件回呼函式時,WSK 子系統才會呼叫 WSK 應用程式的 WskDisconnectEvent 事件回呼函式。 如需啟用套接字事件回呼函式的詳細資訊,請參閱 啟用和停用事件回呼函式。
如果遠端應用程式執行了套接字的正常中斷連線,則不會從套接字接收任何進一步的數據。 不過,WSK 應用程式仍然可以將數據傳送至套接字,直到遠端應用程式完全關閉套接字,或 WSK 應用程式呼叫套接字上的 WskDisconnect 函式或套接字上的 WskCloseSocket 函式為止。
如果遠端應用程式執行了套接字的中止中斷連線,則不會從套接字接收任何進一步的數據,也無法將進一步的數據傳送至套接字。
WSK 子系統會在 IRQL = DISPATCH_LEVEL 呼叫 WSK 應用程式的 < 事件回呼函式。
WSK 應用程式的 WskDisconnectEvent 事件回呼函式不得等候 WSK 完成或事件回呼函式內容中的其他 WSK 要求完成。 回呼可以起始其他 WSK 要求(假設它不會花太多時間在DISPATCH_LEVEL),但即使在 IRQL = PASSIVE_LEVEL 呼叫回呼,也不得等待完成。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
目標平臺 | 窗戶 |
標頭 | wsk.h (包括 Wsk.h) |
IRQL | <= DISPATCH_LEVEL |