共用方式為


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

另請參閱

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept

WskAcceptEvent

WskCloseSocket

WskConnect

WskControlSocket

WskDisconnect

WskSocket

WskSocketConnect