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

另請參閱

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept

WskAcceptEvent

WskCloseSocket

WskConnect

WskControlSocket

WskDisconnect

WskSocket

WskSocketConnect