PFN_WSK_ABORT_EVENT Rückruffunktion (wsk.h)

Die WskAbortEvent-Ereignisrückruffunktion benachrichtigt eine WSK-Anwendung, dass eine eingehende Verbindungsanforderung für einen Überwachungssocket gelöscht wurde, für den der Modus für die bedingte Annahme aktiviert ist.

Syntax

PFN_WSK_ABORT_EVENT PfnWskAbortEvent;

NTSTATUS PfnWskAbortEvent(
  [in, optional] PVOID SocketContext,
  [in]           PWSK_INSPECT_ID InspectID
)
{...}

Parameter

[in, optional] SocketContext

Ein Zeiger auf den Socketkontext für den lauschenden Socket, für den die eingehende Verbindungsanforderung empfangen wurde. Die WSK-Anwendung hat diesen Zeiger auf das WSK-Subsystem bereitgestellt, als sie die WskSocket-Funktion aufgerufen hat , um den lauschenden Socket zu erstellen.

[in] InspectID

Ein Zeiger auf eine WSK_INSPECT_ID-Struktur . Der Inhalt der Struktur identifiziert die eingehende Verbindungsanforderung, die gelöscht wurde.

Rückgabewert

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

Hinweise

Das WSK-Subsystem ruft die WskAbortEvent-Ereignisrückruffunktion einer WSK-Anwendung nur auf, wenn die folgenden Bedingungen erfüllt sind:

  • Die WSK-Anwendung hat einen Überwachungssocket erstellt, für den der Modus für die bedingte Annahme aktiviert ist.
  • Eine eingehende Verbindungsanforderung wurde für den lauschenden Socket empfangen, und das WSK-Subsystem hat die WskInspectEvent-Ereignisrückruffunktion der WSK-Anwendung aufgerufen.
  • Die WSK-Anwendung hat WskInspectPend oder WskInspectAccept von ihrer WskAbortEvent-Ereignisrückruffunktion für die eingehende Verbindungsanforderung zurückgegeben.
  • Die eingehende Verbindungsanforderung wurde entweder lokal oder remote gelöscht, bevor sie vollständig eingerichtet wurde.
Wenn das WSK-Subsystem die WskAbortEvent-Ereignisrückruffunktion einer WSK-Anwendung aufruft, sollte die Anwendung die Überprüfung für die eingehende Verbindungsanforderung beenden. Die Verbindungsanforderung wird durch den Inhalt der WSK_INSPECT_ID-Struktur identifiziert, auf die der InspectID-Parameter verweist.

Wenn die WSK-Anwendung die WskInspectComplete-Funktion für eine eingehende Verbindungsanforderung aufruft, die abgebrochen wurde, wird die Verbindung auch dann nicht hergestellt, wenn WskInspectAccept im Action-Parameter angegeben ist.

Eine WSK-Anwendung kann den Modus für die bedingte Annahme auf einem Lauschocket aktivieren, indem die Option SO_CONDITIONAL_ACCEPT Socket aktiviert wird. Weitere Informationen zum bedingten Akzeptieren eingehender Verbindungen finden Sie unter Lauschen auf und Akzeptieren eingehender Connections.

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

Die WskAbortEvent-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_LISTEN_DISPATCH

WSK_INSPECT_ID

WskControlSocket

WskInspectComplete

WskInspectEvent

WskSocket