FWPS_CALLOUT_NOTIFY_FN2 fonction de rappel (fwpsk.h)

Le moteur de filtre appelle la fonction de légende notifyFn2 d’une légende pour informer le pilote de légende des événements associés à la légende.

NoteznotifyFn2 est la version spécifique de notifyFn utilisée dans Windows 8 et versions ultérieures. Pour plus d’informations , voir PAM Version-Independent noms et Ciblage de versions spécifiques de Windows . Pour Windows 7, notifyFn1 est disponible. Pour Windows Vista, notifyFn0 est disponible.

 

Syntaxe

FWPS_CALLOUT_NOTIFY_FN2 FwpsCalloutNotifyFn2;

NTSTATUS FwpsCalloutNotifyFn2(
  [in]      FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  [in]      const GUID *filterKey,
  [in, out] FWPS_FILTER2 *filter
)
{...}

Paramètres

[in] notifyType

Valeur qui indique le type de notification que le moteur de filtre envoie à la légende. Les valeurs valides pour ce paramètre sont les suivantes :

FWPS_CALLOUT_NOTIFY_ADD_FILTER

Un filtre est ajouté au moteur de filtre qui spécifie la légende de l’action du filtre.

FWPS_CALLOUT_NOTIFY_DELETE_FILTER

Un filtre est supprimé du moteur de filtre qui spécifie la légende de l’action du filtre.

FWPS_CALLOUT_NOTIFY_TYPE_MAX

Valeur maximale à des fins de test.

[in] filterKey

Pointeur vers l’identificateur de gestion du filtre, comme spécifié par l’application ou le pilote qui ajoute ou supprime le filtre. Doit avoir la valeur NULL si le paramètre notifyType est défini sur FWPS_CALLOUT_NOTIFY_DELETE_FILTER. Pour plus d'informations, consultez la section Notes qui suit.

[in, out] filter

Pointeur vers une structure FWPS_FILTER2 . Cette structure décrit le filtre ajouté ou supprimé du moteur de filtre.

La fonction notifyFn2 d’un pilote de légende peut définir le membre context de cette structure pour qu’il pointe vers une structure de contexte fournie par un pilote de légende lorsque le filtre est ajouté au moteur de filtre. Cette structure de contexte est opaque au moteur de filtre et peut être utilisée par la fonction de légende classFn2 du pilote de légende pour conserver les données ou informations d’état spécifiques au pilote entre les appels du moteur de filtre et les appels du pilote de légende
fonction de légende classFn2.

La fonction notifyFn2 d’un pilote de légende peut propre tout contexte associé au filtre lorsque le filtre est supprimé du moteur de filtre.

Valeur retournée

La fonction notifyFn2 d’une légende retourne l’un des codes NTSTATUS suivants.

Code de retour Description
STATUS_SUCCESS
Le pilote de légende accepte la notification du moteur de filtre.
Autres codes status
Une erreur est survenue. Si le paramètre notifyType est FWPS_CALLOUT_NOTIFY_ADD_FILTER, le filtre n’est pas ajouté au moteur de filtre. Si le paramètre notifyType est FWPS_CALLOUT_NOTIFY_DELETE_FILTER, le filtre est toujours supprimé du moteur de filtre.

Remarques

Un pilote de légende inscrit les fonctions de légende d’une légende auprès du moteur de filtre en appelant la fonction FwpsCalloutRegister2 .

Le moteur de filtre appelle la fonction notifyFn2 d’un pilote de légende pour informer le pilote de légende des événements associés à la légende. Si la fonction notifyFn2 du pilote de légende ne reconnaît pas le type de notification transmis dans le paramètre notifyType , elle doit ignorer la notification et retourner STATUS_SUCCESS.

Si un pilote de légende inscrit une légende auprès du moteur de filtre une fois que des filtres qui spécifient la légende pour l’action du filtre ont déjà été ajoutés au moteur de filtre, le moteur de filtre n’appelle pas la fonction notifyFn2 du pilote de légende pour informer la légende des filtres existants. Le moteur de filtre appelle la fonction notifyFn2 du pilote de légende pour notifier la légende lorsque de nouveaux filtres qui spécifient la légende pour l’action du filtre sont ajoutés au moteur de filtre. Dans ce cas, la fonction notifyFn2 d’une légende peut ne pas être appelée pour chaque filtre dans le moteur de filtre qui spécifie la légende pour l’action du filtre. Si un pilote de légende inscrit une légende après le démarrage du moteur de filtre et que la légende doit connaître tous les filtres dans le moteur de filtre qui spécifie la légende pour l’action du filtre, le pilote de légende doit appeler les fonctions de gestion appropriées pour énumérer tous les filtres dans le moteur de filtre et trier la liste des filtres résultante pour rechercher ceux qui spécifient la légende pour l’action du filtre. Pour plus d’informations sur l’appel de ces fonctions, consultez Appel d’autres fonctions de plateforme de filtrage Windows .

Lorsqu’un filtre qui spécifie une légende pour l’action du filtre est supprimé du moteur de filtre, le moteur de filtre appelle la fonction notifyFn2 du pilote de légende et passe FWP_CALLOUT_NOTIFY_DELETE_FILTER dans le paramètre notifyType et NULL dans le paramètre filterKey . Pour plus d’informations, consultez Traitement des légendes de notification.

Cette fonction est essentiellement identique à la version précédente, notifyFn1. La seule différence est la structure mise à jour FWPS_FILTER2 pointée vers le paramètre de filtre .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
Plateforme cible Windows
En-tête fwpsk.h (inclure Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

Fonctions de légende du pilote de légende

FWPS_FILTER2

FwpsCalloutRegister2

notifyFn

notifyFn0

notifyFn1