FwpmBfeStateSubscribeChanges0, fonction (fwpmk.h)
La fonction FwpmBfeStateSubscribeChanges0 enregistre une fonction de rappel appelée chaque fois qu’il y a 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 interblocage.
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 de périphérique 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 Device.
[in] callback
Pointeur vers une fonction de rappel de changement d’état de service fournie par un pilote de légende. Le moteur de filtre appelle cette fonction chaque fois qu’il y a un changement dans 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
);
Context
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 qui est 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 FwpmBfeStateUnsubscribeChanges0 pour annuler l’inscription de la fonction de rappel.
Valeur retournée
La fonction FwpmBfeStateSubscribeChanges0 retourne l’un des codes NTSTATUS suivants :
Code de retour | Description |
---|---|
|
La fonction de rappel a été correctement inscrite. |
|
Une erreur est survenue. |
Remarques
Un pilote de légende appelle la fonction FwpmBfeStateSubscribeChanges0 pour inscrire une fonction de rappel appelée chaque fois que l’état du moteur de filtre est modifié.
Par exemple, un pilote de légende ne peut pas ouvrir une session sur le 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 sur le moteur de filtre afin qu’il puisse effectuer des appels aux autres 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. Une fois l’appel à FwpmBfeStateSubscribeChanges0 retourné, le pilote de légende peut appeler FwpmBfeStateGet0 à tout moment.
Un pilote de légende doit annuler l’inscription de la fonction de rappel en appelant le Fonction FwpmBfeStateUnsubscribeChanges0 avant que le pilote de légende puisse être déchargé.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
Plateforme cible | Universal |
En-tête | fwpmk.h (incluez Fwpmk.h) |
Bibliothèque | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |