FwpsFlowAssociateContext0-Funktion (fwpsk.h)

Die FwpsFlowAssociateContext0-Funktion ordnet einen vom Legendentreiber definierten Kontext einem Datenfluss zu.

HinweisFwpsFlowAssociateContext0 ist eine bestimmte Version von FwpsFlowAssociateContext. Weitere Informationen finden Sie unter WFP Version-Independent Namen und Zielgruppenspezifische Windows-Versionen .
 

Syntax

NTSTATUS FwpsFlowAssociateContext0(
  [in] UINT64 flowId,
  [in] UINT16 layerId,
  [in] UINT32 calloutId,
  [in] UINT64 flowContext
);

Parameter

[in] flowId

Ein Laufzeitbezeichner, der den Datenfluss angibt, dem der Kontext zugeordnet werden soll. Der Laufzeitbezeichner für einen Datenfluss wird einem Legendentreiber über den FWPS_METADATA_FIELD_FLOW_HANDLE Metadatenwert bereitgestellt, der an die Legendenfunktion klassifizierenFn des Legendentreibers übergeben wurde.

[in] layerId

Der Laufzeitbezeichner für die Filterebene, der der Kontext zugeordnet wird. Der Kontext wird nur der angegebenen Filterebene zugeordnet. Weitere Informationen finden Sie unter Laufzeitfilterung von Ebenenbezeichnern.

[in] calloutId

Der Laufzeitbezeichner für die Beschriftung in der Filter-Engine. Dieser Bezeichner wurde zurückgegeben, als der Legendentreiber die Funktionen FwpsCalloutRegister0, FwpsCalloutRegister1 oder FwpsCalloutRegister2 aufgerufen hat, um die Legende bei der Filter-Engine zu registrieren.

[in] flowContext

Der vom Legendentreiber definierte Kontext, der dem Datenfluss zugeordnet werden soll. Dieser Parameter darf nicht 0 sein. Dieser Kontext ist für die Filter-Engine undurchsichtig.

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_SUCCESS
Der Kontext wurde dem Datenfluss erfolgreich zugeordnet.
STATUS_INVALID PARAMETER
Entweder ist der flowContext-ParameterNULL oder für die vom Parameter calloutID angegebene Legende ist kein flowDeleteFn registriert.
STATUS_OBJECT_NAME_EXISTS
Dem Datenfluss ist bereits ein Kontext zugeordnet. In diesem Fall sollte ein Legendentreiber zuerst die Funktion FwpsFlowRemoveContext0 aufrufen, um den vorhandenen Kontext zu entfernen, und dann die Funktion FwpsFlowAssociateContext0 erneut aufrufen, um den neuen Kontext dem Datenfluss zuzuordnen.
Andere status Codes
Ein Fehler ist aufgetreten.

Hinweise

Beim Filtern eines Datenflusses kann ein Legendentreiber die Funktion FwpsFlowAssociateContext0 aufrufen, um dem Datenfluss einen Kontext zuzuordnen. Anschließend kann dieser Kontext verwendet werden, um alle treiberspezifischen Daten oder Zustandsinformationen zwischen Aufrufen der Filter-Engine an die Legendenfunktion klassifizierenFn für diesen Datenfluss beizubehalten.

Es muss eine Legende in der Filter-Engine auf der Ebene vorhanden sein, die durch den layerId-Parameter identifiziert wurde, der eine flowDeleteFn-Legendenfunktion registriert hat. Andernfalls gibt der Aufruf der Funktion FwpsFlowAssociateContext0 STATUS_INVALID_PARAMETER zurück. Die Filter-Engine ruft diese flowDeleteFn-Beschriftungsfunktion auf, wenn der Flow beendet wird, sodass der Legendentreiber den dem Flow zugeordneten Kontext sauber kann.

Sie können FwpsFlowAssociateContext0 für denselben Flow mehrmals aufrufen. In jedem Aufruf müssen Sie eine andere Beschriftung und einen anderen Kontext angeben– einen Kontext pro hinzugefügter Legende.

Die FwpsFlowAssociateContext0-Funktion verknüpft einen einzelnen Kontext mit einer einzelnen hinzugefügten Legende.

Sie können einem Flow mehrere Kontexte zuordnen. Jedem Kontext muss jedoch eine andere Beschriftung zugeordnet sein. Die neue Legende kann sich auf derselben Ebene wie die vorherige oder auf einer anderen Ebene befinden.

Weitere Informationen und Beispielcode finden Sie unter Zuordnen des Kontexts zu einem Datenfluss und im Windows-Filterplattformbeispiel.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows Vista.
Zielplattform Universell
Header fwpsk.h (include fwpsk.h)
Bibliothek Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Weitere Informationen

Zuordnen von Kontext zu einem Datenfluss

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutRegister2

FwpsFlowRemoveContext0

Windows-Filterplattformbeispiel

klassifizierenFn

flowDeleteFn