Freigeben über


FwpsPendOperation0-Funktion (fwpsk.h)

Die FwpsPendOperation0-Funktion wird von einer Legende aufgerufen, um die Paketverarbeitung ausstehendem Abschluss eines anderen Vorgangs anzuhalten.

HinweisFwpsPendOperation0 ist eine bestimmte Version von FwpsPendOperation. Weitere Informationen finden Sie unter WFP-Version-Independent Namen und zielspezifische Versionen von Windows.
 

Syntax

NTSTATUS FwpsPendOperation0(
  [in]  HANDLE completionHandle,
  [out] HANDLE *completionContext
);

Parameter

[in] completionHandle

Ein Abschlusshandle, das zum Stiften des aktuellen Filtervorgangs erforderlich ist. Dieser Parameter wird aus dem completionHandle Member der FWPS_INCOMING_METADATA_VALUES0 Struktur abgerufen, die an die klassifizierenFn-Funktion des Popuptreibers übergeben wird.

[out] completionContext

Das Handle zum Abschlusskontext dieses Stiftvorgangs. Wenn die Legende bereit ist, die Paketverarbeitung fortzusetzen, ruft sie die FwpsCompleteOperation0--Funktion mit dem Wert dieses Parameters als Eingabe completionContext Parameter auf.

Rückgabewert

Die FwpsPendOperation0-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Paketverarbeitung wurde erfolgreich bearbeitet.
STATUS_FWP_CANNOT_PEND
Es wurde ein Aufruf an FwpsPendOperation0 in einem Erneutautorisierungsklassifizierungsvorgang ausgeführt. Weitere Informationen finden Sie in den Hinweisen.
STATUS_FWP_NULL_POINTER
Mindestens ein Parameter ist ungültig.
STATUS_FWP_TCPIP_NOT_READY
Der TCP/IP-Netzwerkstapel ist nicht bereit, um diesen Vorgang zuzulassen.
Andere Statuscodes
Fehler.

Bemerkungen

Die Legende sollte den completionContext Parameterwert beibehalten, bis die Paketverarbeitung fortgesetzt wird. Wenn der Vorgang, der den Aufruf dieser Funktion angefragt hat, abgeschlossen ist, sollte die Legende die FwpsCompleteOperation0--Funktion aufrufen und den completionContext Parameterwert übergeben.

Eine Legende kann diese Funktion nur aufrufen, um ein Paket zu stiften, das aus dem FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_ Xxx-, FWPM_LAYER_ALE_AUTH_LISTEN_ Xxx-oder FWPM_LAYER_ALE_AUTH_CONNECT_ XxxFilterebenenstammt. Eine Legende kann den aktuellen Verarbeitungsvorgang in einem Paket einfügen, wenn die Legende eine Verarbeitung auf einer dieser Ebenen ausführen muss, die ein langes Intervall bis zum Abschluss dauern kann oder die bei IRQL = PASSIVE_LEVEL auftreten sollte, wenn die aktuelle IRQL-> PASSIVE_LEVEL.

Um eine Verbindung abzuschließen, die zuvor auf der FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_ Xxx--Ebene bereitgestellt wurde, muss der Popuptreiber das Paket erneut auswerfen, das auf dieser Ebene geklont wurde, und die FwpsCompleteOperation0--Funktion aufrufen.

Um die Verarbeitung von Stiftpaketen ermöglichen zu können, sollte die klassifizierenFn-Funktion des Popuptreibers das actionType-Element der FWPS_CLASSIFY_OUT0 Struktur auf FWP_ACTION_BLOCK und das Flags Member auf FWPS_CLASSIFY_OUT_FLAG_ABSORB festlegen.

Pended connections are reauthenticated after the FwpsCompleteOperation0 function executes. TCP-Verbindungen, sofern zulässig, werden durch Abschließen des Handshake-Vorgangs erstellt, aber nicht-TCP-Verbindungen erstellen nur Zustandseinträge. Alle eingestifteten Paketdaten werden aus dem Arbeitsspeicher geleert, wenn die FwpsPendOperation0-Funktion abgeschlossen ist, sodass Anwendungen diese Pakete nach FwpsCompleteOperation0- erneut übertragen müssen. Legenden könnten solche Daten puffern und die Daten in ihrem Auftrag erneut auswerfen.

Nur eine anfängliche ALE-Flussautorisierung (Application Layer Enforcement) kann durch Aufrufen von FwpsPendOperation0 und FwpsCompleteOperation0verschoben werden. Wenn ein ALE-Fluss erneut autorisiert wird, wird das FWP_CONDITION_FLAG_IS_REAUTHORIZE Flag festgelegt. Ein Aufruf von FwpsPendOperation0 aus dem FWPM_LAYER_ALE_AUTH_CONNECT_ Xxx oder FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_ XxxFilter ebenen schlägt fehl, wenn das FWP_CONDITION_FLAG_IS_REAUTHORIZE Flag festgelegt ist, und der STATUS_FWP_CANNOT_PEND Statuscode wird zurückgegeben. Weitere Informationen finden Sie unter ALE Reauthorization im Windows SDK.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Vista.
Zielplattform- Universal
Header- fwpsk.h (include Fwpsk.h)
Library Fwpkclnt.lib
IRQL- <= DISPATCH_LEVEL

Siehe auch

FWPS_CLASSIFY_OUT0

FWPS_INCOMING_METADATA_VALUES0

FwpsCompleteOperation0

klassifizierenFn-