Partager via


FWPS_CALLOUT_NOTIFY_FN3 fonction de rappel (fwpsk.h)

Version 3 de la fonction appelée pendant la classification lorsqu’un filtre de légende correspond. La différence étant que ce rappel retourne une structure FWPS_FILTER3.

Syntaxe

FWPS_CALLOUT_NOTIFY_FN3 FwpsCalloutNotifyFn3;

NTSTATUS FwpsCalloutNotifyFn3(
  FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  const GUID *filterKey,
  FWPS_FILTER3 *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, tel que spécifié par l’application ou le pilote qui ajoute ou supprime le filtre. Doit être NULL si le paramètre notifyType est défini sur FWPS_CALLOUT_NOTIFY_DELETE_FILTER. Pour plus d’informations, consultez Remarques.

filter

Pointeur vers une structure FWPS_FILTER3. Cette structure décrit le filtre en cours d’ajout ou de suppression du moteur de filtre.

La fonction de légende notifyFn3 de légende peut définir le membre de contexte 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 les du pilote de légende classifiezFn3 fonction de légende pour conserver les données ou les informations d’état spécifiques au pilote de pilotes entre les appels par le moteur de filtre vers la fonction de légende classifierFn3.

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

Valeur de retour

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

Retourner le code Description
STATUS_SUCCESS Le pilote de légende accepte la notification du moteur de filtre.
Autres codes d’état Une erreur s’est produite. 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’un légende auprès du moteur de filtre en appelant la fonction FwpsCalloutRegister2.

Le moteur de filtre appelle la fonction de légende notifyFn3 de légende pour informer le pilote de légende des événements associés à la légende. Si la fonction de légende notifyFn3 du pilote de légende ne reconnaît pas le type de notification transmis dans le paramètre notifyType, il 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 les filtres qui spécifient la légende de l’action du filtre ont déjà été ajoutées au moteur de filtre, le moteur de filtre n’appelle pas la fonction de légende notifyFn3 fonction de légende pour notifier la légende sur l’un des filtres existants. Le moteur de filtre appelle la fonction de légende notifyFn3 fonction de légende pour notifier la légende lorsque de nouveaux filtres qui spécifient la légende de l’action du filtre sont ajoutés au moteur de filtre. Dans ce cas, la fonction de légende notifyFn3 fonction de 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 de l’action du filtre, le pilote de légende doit appeler les fonctions de gestion appropriées pour énumérer tous les filtres du moteur de filtre et trier la liste résultante des filtres 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 de légende notifyFn3 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 légendes de notification de traitement.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista.
d’en-tête fwpsk.h
IRQL <= DISPATCH_LEVEL

Voir aussi