Freigeben über


PFN_WSK_DISCONNECT_EVENT Rückruffunktion (wsk.h)

Die WskDisconnectEvent-Ereignisrückruffunktion benachrichtigt eine WSK-Anwendung, dass eine Verbindung auf 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:

[in] Flags

Ein ULONG-Wert, der ein bitweises OR einer Kombination der folgenden Flags enthält:

WSK_FLAG_ABORTIVE

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

WSK_FLAG_AT_DISPATCH_LEVEL

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

Rückgabewert

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

Hinweise

Das WSK-Subsystem ruft die WskDisconnectEvent-Ereignisrückruffunktion einer WSK-Anwendung auf, wenn ein verbindungsorientierter Socket von der Remoteanwendung getrennt wird, nur wenn die Ereignisrückruffunktion zuvor mit der Option SO_WSK_EVENT_CALLBACK Socket 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 durchgefü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 die WskDisconnect-Funktion oder die WskCloseSocket-Funktion im Socket aufruft .

Wenn die Remoteanwendung eine abgebrochene Trennung des Sockets durchgefü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 unter IRQL <= DISPATCH_LEVEL auf.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Windows
Kopfzeile wsk.h (einschließen von Wsk.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept

WskAcceptEvent

WskCloseSocket

WskConnect

WskControlSocket

WskDisconnect

WskSocket

WskSocketConnect