Partager via


FWPS_CALLOUT_NOTIFY_FN1 fonction de rappel (fwpsu.h)

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

Notes

notifyFn1 est la version spécifique de notifyFn utilisée dans Windows 7 et versions ultérieures. Pour plus d’informations, consultez Noms indépendants de la version du PAM et ciblage de versions spécifiques de Windows. Pour Windows 8, notifyFn2 est disponible. Pour Windows Vista, notifyFn0 est disponible.

Syntaxe

FWPS_CALLOUT_NOTIFY_FN1 FwpsCalloutNotifyFn1;

NTSTATUS FwpsCalloutNotifyFn1(
  FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  const GUID *filterKey,
  FWPS_FILTER1 *filter
)
{...}

Paramètres

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.

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.

filter

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

La fonction de légende notifyFn1 d’une légende peut définir le membre de contexte 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 pour le moteur de filtre et peut être utilisée par la fonction de légende classFn1 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 la fonction de légende classFn1 du pilote de légende.

La fonction de légende notifyFn1 d’une légende peut nettoyer n’importe quel contexte associé au filtre lorsque le filtre est supprimé du moteur de filtre.

Valeur retournée

La fonction notifyFn1 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 d’état 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 FwpsCalloutRegister1 .

Le moteur de filtre appelle la fonction de légende notifyFn1 d’une légende pour informer le pilote de légende des événements associés à la légende. Si la fonction de légende notifyFn1 du pilote de légende ne reconnaît pas le type de notification passé dans le paramètre notifyType , elle ignore la notification et retourne 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 de légende notifyFn1 du pilote de légende pour informer la légende des filtres existants. Le moteur de filtre appelle la fonction de légende notifyFn1 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 de légende notifyFn1 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 la 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 de légende notifyFn1 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.

Configuration requise

Condition requise Valeur
En-tête fwpsu.h