Fonction FwpsFlowAssociateContext0 (fwpsk.h)
La fonction FwpsFlowAssociateContext0 associe un contexte défini par un pilote de légende à un flux de données.
Syntaxe
NTSTATUS FwpsFlowAssociateContext0(
[in] UINT64 flowId,
[in] UINT16 layerId,
[in] UINT32 calloutId,
[in] UINT64 flowContext
);
Paramètres
[in] flowId
Identificateur au moment de l’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 par le biais de la valeur de métadonnées FWPS_METADATA_FIELD_FLOW_HANDLE qui a été passée à la fonction de légende classifyFn du pilote de légende.
[in] layerId
Identificateur d’exécution de la couche de filtrage à laquelle le contexte est associé. Le contexte sera associé uniquement à 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, FwpsCalloutRegister1 ou 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 retournée
La fonction FwpsFlowAssociateContext0 retourne l’un des codes NTSTATUS suivants.
Code de retour | Description |
---|---|
|
Le contexte a été correctement associé au flux de données. |
|
Le paramètre flowContext a la valeur NULL ou la légende spécifiée par le paramètre calloutID n’a pas de flowDeleteFn inscrit. |
|
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 à nouveau la fonction FwpsFlowAssociateContext0 pour associer le nouveau contexte au flux de données. |
|
Une erreur est survenue. |
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 des données ou des informations d’état spécifiques au pilote entre les appels du moteur de filtre et la fonction de légende classififn d’une 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 la fonction de légende flowDeleteFn lorsque le flux est terminé afin que le pilote de légende puisse propre 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 seule légende ajoutée.
Vous pouvez associer plusieurs contextes à un flux. Toutefois, chaque contexte doit être associé à une légende différente. La nouvelle légende peut se trouver au niveau de la même couche que la précédente ou d’une autre couche.
Pour plus d’informations et pour obtenir un exemple de code, consultez Association d’un contexte à un Data Flow et l’exemple de plateforme de filtrage Windows.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
Plateforme cible | Universal |
En-tête | fwpsk.h (inclure Fwpsk.h) |
Bibliothèque | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
Association d’un contexte à un Data Flow