FwpsFlowAssociateContext0-Funktion (fwpsk.h)
Die FwpsFlowAssociateContext0--Funktion ordnet einen beschriftungstreiberde definierten Kontext einem Datenfluss zu.
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 klassifizierenFn Legendenfunktion des Popuptreibers ü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 layer identifiers.
[in] calloutId
Der Laufzeitbezeichner für die Legende im Filtermodul. Dieser Bezeichner wurde zurückgegeben, wenn der Beschriftungstreiber FwpsCalloutRegister0, FwpsCalloutRegister1oder FwpsCalloutRegister2-Funktion aufgerufen wurde, um die Legende beim Filtermodul zu registrieren.
[in] flowContext
Der vom Beschriftungstreiber definierte Kontext, der dem Datenfluss zugeordnet werden soll. Dieser Parameter darf nicht null sein. Dieser Kontext ist für das Filtermodul nicht transparent.
Rückgabewert
Die FwpsFlowAssociateContext0--Funktion gibt einen der folgenden NTSTATUS-Codes zurück.
Rückgabecode | Beschreibung |
---|---|
|
Der Kontext wurde erfolgreich mit dem Datenfluss verknüpft. |
|
Der parameter flowContext ist NULL- oder die durch den parameter calloutID parameter angegebene Legende weist keinen flowDeleteFn registriert auf. |
|
Dem Datenfluss ist bereits ein Kontext zugeordnet. In diesem Fall sollte ein Popuptreiber zuerst die FwpsFlowRemoveContext0--Funktion aufrufen, um den vorhandenen Kontext zu entfernen, und rufen Sie dann die FwpsFlowAssociateContext0 Funktion erneut auf, um den neuen Kontext dem Datenfluss zuzuordnen. |
|
Fehler. |
Bemerkungen
Beim Filtern eines Datenflusses kann ein Popuptreiber die FwpsFlowAssociateContext0--Funktion aufrufen, um einen Kontext mit dem Datenfluss zu verknüpfen. Anschließend kann dieser Kontext verwendet werden, um treiberspezifische Daten oder Zustandsinformationen zwischen Aufrufen des Filtermoduls für die klassifizierenFn Legendenfunktion für diesen Datenfluss beizubehalten.
Es muss eine Legende im Filtermodul auf der Ebene vorhanden sein, die durch den parameter layerId identifiziert wurde, der eine flowDeleteFn Legendenfunktion registriert hat. Andernfalls gibt der Aufruf der FwpsFlowAssociateContext0--Funktion STATUS_INVALID_PARAMETER zurück. Das Filtermodul ruft die funktion flowDeleteFn Popupfunktion auf, wenn der Fluss beendet wird, damit der Beschriftungstreiber den dem Fluss zugeordneten Kontext bereinigen kann.
Sie können FwpsFlowAssociateContext0- mehrmals für denselben Fluss aufrufen. In jedem Aufruf müssen Sie eine andere Legende und einen anderen Kontext angeben – ein Kontext pro hinzugefügter Legende.
Die FwpsFlowAssociateContext0--Funktion ordnet einem einzelnen Kontext einen einzelnen hinzugefügten Legenden zu.
Sie können einem Fluss mehrere Kontexte zuordnen. Jeder Kontext muss jedoch einer anderen Legende zugeordnet werden. Die neue Legende kann sich auf derselben Ebene wie der vorherige oder auf einer anderen Ebene befinden.
Weitere Informationen und Beispielcode finden Sie unter Associating Context with a Data Flow and the Windows Filtering Platform Sample.
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
Zuordnen des Kontexts zu einem Datenfluss-