Partager via


FwpsFlowAssociateContext0, fonction (fwpsk.h)

La fonction FwpsFlowAssociateContext0 associe un contexte défini par le pilote de légende à un flux de données.

RemarqueFwpsFlowAssociateContext0 est une version spécifique de FwpsFlowAssociateContext. Pour plus d’informations, consultez PAM Version-Independent noms et ciblage de versions spécifiques de Windows.
 

Syntaxe

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

Paramètres

[in] flowId

Identificateur d’exécution qui spécifie le flux de données auquel associer le contexte. L’identificateur d’exécution d’un flux de données est fourni à un pilote de légende via la valeur de métadonnées FWPS_METADATA_FIELD_FLOW_HANDLE qui a été passée au classifieFn fonction de légende du pilote de légende.

[in] layerId

Identificateur d’exécution de la couche de filtrage avec laquelle le contexte est associé. Le contexte n’est associé qu’à la couche de filtrage spécifiée. Pour plus d’informations, consultez identificateurs de couche de filtrage au moment de l’exécution.

[in] calloutId

Identificateur d’exécution de la légende dans le moteur de filtre. Cet identificateur a été retourné lorsque le pilote de légende a appelé la fonction FwpsCalloutRegister0, FwpsCalloutRegister1ou fonction FwpsCalloutRegister2 pour inscrire la légende auprès du moteur de filtre.

[in] flowContext

Contexte défini par le pilote de légende à associer au flux de données. Ce paramètre ne doit pas être égal à zéro. Ce contexte est opaque pour le moteur de filtre.

Valeur de retour

La fonction FwpsFlowAssociateContext0 retourne l’un des codes NTSTATUS suivants.

Retourner le code Description
STATUS_SUCCESS
Le contexte a été correctement associé au flux de données.
STATUS_INVALID PARAMETER
Le paramètre flowContext est NULL ou la légende spécifiée par le paramètre légende n’a pas de flux flowDeleteFn inscrit.
STATUS_OBJECT_NAME_EXISTS
Un contexte est déjà associé au flux de données. Dans ce cas, un pilote de légende doit d’abord appeler la fonction FwpsFlowRemoveContext0 pour supprimer le contexte existant, puis appeler la fonction FwpsFlowAssociateContext0 à nouveau pour associer le nouveau contexte au flux de données.
Autres codes d’état
Une erreur s’est produite.

Remarques

Lors du filtrage d’un flux de données, un pilote de légende peut appeler la fonction FwpsFlowAssociateContext0 pour associer un contexte au flux de données. Il peut ensuite utiliser ce contexte pour conserver toutes les informations d’état ou de données spécifiques au pilote entre les appels par le moteur de filtre vers les classifierFn fonction de légende pour ce flux de données.

Il doit y avoir une légende dans le moteur de filtre au niveau de la couche identifiée par le paramètre layerId qui a inscrit une fonction de légende flowDeleteFn. Sinon, l’appel à la fonction FwpsFlowAssociateContext0 retourne STATUS_INVALID_PARAMETER. Le moteur de filtre appelle ce qui flowDeleteFn fonction de légende lorsque le flux est arrêté afin que le pilote de légende puisse nettoyer le contexte associé au flux.

Vous pouvez appeler FwpsFlowAssociateContext0 plusieurs fois pour le même flux. Dans chaque appel, vous devez spécifier une légende différente et un contexte différent : un contexte par légende ajoutée.

La fonction FwpsFlowAssociateContext0 associe un seul contexte à une légende ajoutée unique.

Vous pouvez associer plusieurs contextes à un flux. Toutefois, chaque contexte doit être associé à une légende différente. La nouvelle légende peut être au même niveau que la précédente ou dans une autre couche.

Pour plus d’informations et d’exemples de code, consultez Association de contexte avec un flux de données et l’exemple de plateforme de filtrage Windows .

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista.
plateforme cible Universel
d’en-tête fwpsk.h (include Fwpsk.h)
bibliothèque Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

associer un contexte à un flux de données

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutRegister2

FwpsFlowRemoveContext0

exemple de plateforme de filtrage Windows

classifierFn

flowDeleteFn