Partager via


FWPS_CALLOUT_NOTIFY_FN0 fonction de rappel (fwpsk.h)

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

Notez quenotifyFn0 est la version spécifique de notifyFn utilisée dans Windows Vista et versions ultérieures. Pour plus d’informations , consultez WFP Version-Independent Names and Targeting Specific Versions of Windows . Pour Windows 8, notifyFn2 est disponible. Pour Windows 7, notifyFn1 est disponible.
 

Syntaxe

FWPS_CALLOUT_NOTIFY_FN0 FwpsCalloutNotifyFn0;

NTSTATUS FwpsCalloutNotifyFn0(
  [in] FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  [in] const GUID *filterKey,
  [in] FWPS_FILTER0 *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 en cours de suppression 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, tel que 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.

[in] filter

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

La fonction de légende notifyFn0 d’une légende peut définir le membre Context de cette structure pour qu’il pointe vers une structure de contexte fournie par le 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 classFn0 du pilote de légende pour conserver toutes les données ou informations d’état spécifiques au pilote entre les appels du moteur de filtre et le pilote de légende
Fonction de légende classFn0 .

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

Valeur retournée

La fonction notifyFn0 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 FwpsCalloutRegister0 .

Le moteur de filtre appelle la fonction de légende notifyFn0 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 notifyFn0 du pilote de légende ne reconnaît pas le type de notification passée 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 après que les filtres qui spécifient la légende de 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 notifyFn0 du pilote de légende pour informer la légende de l’un des filtres existants. Le moteur de filtre appelle la fonction de légende notifyFn0 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 notifyFn0 d’une légende peut ne pas être appelée pour chaque filtre dans le moteur de filtre qui spécifie la légende de 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 chaque filtre 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 trouver 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 de légende notifyFn0 du pilote de légende et transmet 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
Client minimal pris en charge Disponible à partir de Windows Vista.
Plateforme cible Windows
En-tête fwpsk.h (include Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

Fonctions de légende du pilote de légende

FWPS_CALLOUT0

FWPS_FILTER0

FwpsCalloutRegister0

notifyFn

notifyFn1

notifyFn2