Freigeben über


PFN_WSK_DISCONNECT_EVENT Rückruffunktion (wsk.h)

Die WskDisconnectEvent- Ereignisrückruffunktion benachrichtigt eine WSK-Anwendung, dass eine Verbindung mit einem verbindungsorientierten Socket von der Remoteanwendung getrennt wurde.

Syntax

PFN_WSK_DISCONNECT_EVENT PfnWskDisconnectEvent;

NTSTATUS PfnWskDisconnectEvent(
  [in, optional] PVOID SocketContext,
  [in]           ULONG Flags
)
{...}

Parameter

[in, optional] SocketContext

Ein Zeiger auf den Socketkontext für den verbindungsorientierten Socket, der getrennt wurde. Die WSK-Anwendung hat diesen Zeiger auf das WSK-Subsystem auf eine der folgenden Arten bereitgestellt:

  • Es hat die WskSocket--Funktion aufgerufen, um den Socket zu erstellen.
  • Sie hat die WskSocketConnect-Funktion aufgerufen, um den Socket zu erstellen.
  • Sie hat die WskAccept--Funktion aufgerufen, um den Socket als eingehende Verbindung zu akzeptieren.
  • Die WskAcceptEvent Ereignisrückruffunktion wurde aufgerufen, um den Socket als eingehende Verbindung zu akzeptieren.

[in] Flags

Ein ULONG-Wert, der einen bitweisen OR einer Kombination der folgenden Flags enthält:

WSK_FLAG_ABORTIVE

Die Remoteanwendung führte eine abgebrochene Verbindung des Sockets durch. Wenn dieses Kennzeichen nicht festgelegt ist, hat die Remoteanwendung eine ordnungsgemäße Verbindung des Sockets ausgeführt.

WSK_FLAG_AT_DISPATCH_LEVEL

Das WSK-Subsystem hat die WskDisconnectEvent Ereignisrückruffunktion bei IRQL = DISPATCH_LEVEL aufgerufen. Wenn dieses Flag nicht festgelegt ist, hat das WSK-Subsystem möglicherweise die WskDisconnectEvent Ereignisrückruffunktion bei einer IRQL-<= DISPATCH_LEVEL aufgerufen.

Rückgabewert

Die WskDisconnectEvent- Ereignisrückruffunktion einer WSK-Anwendung muss immer STATUS_SUCCESS zurückgeben.

Bemerkungen

Das WSK-Subsystem ruft die WskDisconnectEvent Ereignisrückruffunktion einer WSK-Anwendung auf, wenn ein verbindungsorientierter Socket von der Remoteanwendung getrennt wird, wenn die Ereignisrückruffunktion zuvor mit der SO_WSK_EVENT_CALLBACK Socketoption aktiviert wurde. Weitere Informationen zum Aktivieren der Ereignisrückruffunktionen eines Sockets finden Sie unter Aktivieren und Deaktivieren von Ereignisrückruffunktionen.

Wenn die Remoteanwendung eine ordnungsgemäße Trennung des Sockets ausgeführt hat, werden keine weiteren Daten vom Socket empfangen. Die WSK-Anwendung kann jedoch weiterhin Daten an den Socket senden, bis der Socket entweder vollständig von der Remoteanwendung geschlossen wird, oder die WSK-Anwendung ruft die WskDisconnect-Funktion oder die WskCloseSocket-Funktion auf dem Socket auf.

Wenn die Remoteanwendung eine abgebrochene Trennung des Sockets ausgeführt hat, werden keine weiteren Daten vom Socket empfangen, und es können keine weiteren Daten an den Socket gesendet werden.

Das WSK-Subsystem ruft die WskDisconnectEvent Ereignisrückruffunktion einer WSK-Anwendung bei IRQL <= DISPATCH_LEVEL auf.

Die WskDisconnectEvent- Ereignisrückruffunktion einer WSK-Anwendung darf nicht auf den Abschluss anderer WSK-Anforderungen im Kontext von WSK-Abschluss- oder Ereignisrückruffunktionen warten. Der Rückruf kann andere WSK-Anforderungen initiieren (vorausgesetzt, es verbringt nicht zu viel Zeit bei DISPATCH_LEVEL), aber er darf nicht auf den Abschluss warten, auch wenn der Rückruf bei IRQL = PASSIVE_LEVEL aufgerufen wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform- Fenster
Header- wsk.h (include Wsk.h)
IRQL- <= DISPATCH_LEVEL

Siehe auch

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept-

WskAcceptEvent-

WskCloseSocket

WskConnect-

WskControlSocket-

WskDisconnect-

WskSocket-

WskSocketConnect-