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呼叫 WskDisconnectEvent 事件回呼函式。
傳回值
WSK 應用程式的 WskDisconnectEvent 事件回呼函式必須一律傳回STATUS_SUCCESS。
備註
只有在先前使用 SO_WSK_EVENT_CALLBACK 套接字選項啟用事件回呼函式時,WSK 子系統才會呼叫 WSK 應用程式的 WskDisconnectEvent 事件回呼函式。 如需啟用套接字事件回呼函式的詳細資訊,請參閱 啟用和停用事件回呼函式。
如果遠端應用程式執行了套接字的正常中斷連線,就不會再從套接字接收任何數據。 不過,WSK 應用程式仍然可以將數據傳送至套接字,直到遠端應用程式完全關閉套接字或 WSK 應用程式呼叫 WskDisconnect 函式或套接字上的 WskCloseSocket 函式為止。
如果遠端應用程式執行了套接字的中止中斷連線,則不會從套接字接收任何進一步的數據,也無法再將數據傳送至套接字。
WSK 子系統會在 IRQL <= DISPATCH_LEVEL 呼叫 WSK 應用程式的 WskDisconnectEvent 事件回呼函式。
WSK 應用程式的 WskDisconnectEvent 事件回呼函式不得等候 WSK 完成或事件回呼函式內容中的其他 WSK 要求完成。 回呼可以起始其他 WSK 要求, (假設它不會花費太多時間DISPATCH_LEVEL) ,但即使在 IRQL = PASSIVE_LEVEL呼叫回呼,它也必須不等候完成。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
目標平台 | Windows |
標頭 | wsk.h (包含 Wsk.h) |
IRQL | <= DISPATCH_LEVEL |