FwpmBfeStateSubscribeChanges0, fonction (fwpmk.h)
La fonction FwpmBfeStateSubscribeChanges0 inscrit une fonction de rappel appelée chaque fois qu’il existe une modification de l’état du moteur de filtre.
Avertissement
N’appelez pas FwpmBfeStateUnsubscribeChanges0 à partir de la fonction de rappel que vous avez passée dans le paramètre de rappel . Cela peut entraîner un blocage.
Syntaxe
NTSTATUS FwpmBfeStateSubscribeChanges0(
[in, out] void *deviceObject,
[in] FWPM_SERVICE_STATE_CHANGE_CALLBACK0 callback,
[in, optional] void *context,
[out] HANDLE *changeHandle
);
Paramètres
[in, out] deviceObject
Pointeur vers un objet d’appareil créé précédemment par le pilote de légende. Pour plus d’informations sur la façon dont un pilote de légende crée un objet d’appareil, consultez Création d’un objet d’appareil.
[in] callback
Pointeur vers une fonction de rappel de changement d’état de service fournie par le pilote de légende. Le moteur de filtre appelle cette fonction chaque fois qu’il existe une modification de l’état du moteur de filtre.
Une fonction de rappel de changement d’état de service est déclarée comme suit.
VOID NTAPI
callback(
IN OUT void *context,
IN FWPM_SERVICE_STATE newState
);
Contexte
Pointeur passé dans le paramètre Context lorsque le pilote de légende a appelé la fonction FwpmBfeStateSubscribeChanges0.
newState
Nouvel état du moteur de filtre. Ce paramètre contient l’une des valeurs suivantes :
FWPM_SERVICE_STOPPED
Le moteur de filtre n’est pas en cours d’exécution.
FWPM_SERVICE_START_PENDING
Le moteur de filtre démarre.
FWPM_SERVICE_STOP_PENDING
Le moteur de filtre s’arrête.
FWPM_SERVICE_RUNNING
Le moteur de filtre est en cours d’exécution.
[in, optional] context
Pointeur vers un contexte fourni par le pilote de légende passé à la fonction de rappel spécifiée dans le paramètre callback.
[out] changeHandle
Pointeur vers une variable qui reçoit un handle associé à l’inscription de la fonction de rappel. Un pilote de légende transmet ce handle à la fonction de rappel FwpmBfeStateUnsubscribeChanges0 pour désinscrire la fonction de rappel.
Valeur de retour
La fonction FwpmBfeStateSubscribeChanges0 retourne l’un des codes NTSTATUS suivants :
Retourner le code | Description |
---|---|
STATUS_SUCCESS | La fonction de rappel a été correctement inscrite. |
autres codes NTSTATUS | Une erreur s’est produite. |
Remarques
Un pilote de légende appelle la fonction FwpmBfeStateSubscribeChanges0 pour inscrire une fonction de rappel appelée chaque fois qu’il existe une modification de l’état du moteur de filtre.
Par exemple, un pilote de légende ne peut pas ouvrir une session au moteur de filtre en appelant la fonction FwpmEngineOpen0, sauf si le moteur de filtre est en cours d’exécution. Un pilote de légende peut utiliser la notification FWPM_SERVICE_RUNNING pour ouvrir une session au moteur de filtre afin qu’elle puisse effectuer des appels à l’autre fonctions de gestion de la plateforme de filtrage Windows. De même, un pilote de légende peut utiliser la notification FWPM_SERVICE_STOP_PENDING pour effectuer un nettoyage avant l’arrêt du moteur de filtre.
Un pilote de légende doit appeler FwpmBfeStateSubscribeChanges0 avant d’appeler la fonction FwpmBfeStateGet0 pour récupérer l’état actuel du moteur de filtre. Après l’appel à FwpmBfeStateSubscribeChanges0 retourne, le pilote de légende peut appeler FwpmBfeStateGet0 à tout moment.
Un pilote de légende doit désinscrire la fonction de rappel en appelant le FwpmBfeStateUnsubscribeChanges0 fonction avant que le pilote de légende ne puisse être déchargé.
FwpmBfeStateSubscribeChanges0 est une version spécifique de FwpmBfeStateSubscribeChanges. Pour plus d’informations, consultez PAM Version-Independent noms et ciblage de versions spécifiques de Windows.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows Vista. |
plateforme cible | Universel |
d’en-tête | fwpmk.h (include Fwpmk.h) |
bibliothèque | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |