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 |