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:
- Die WskSocket-Funktion wurde aufgerufen, um den Socket zu erstellen.
- Die WskSocketConnect-Funktion wurde aufgerufen, um den Socket zu erstellen.
- Die WskAccept-Funktion wurde 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 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 |