Fonction FwpsCalloutRegister2 (fwpsk.h)
La fonction FwpsCalloutRegister2 inscrit une légende avec le moteur de filtre.
Syntaxe
NTSTATUS FwpsCalloutRegister2(
[in, out] void *deviceObject,
[in] const FWPS_CALLOUT2 *callout,
[out, optional] UINT32 *calloutId
);
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 Device.
[in] callout
Pointeur vers une structure constante FWPS_CALLOUT2 qui contient les données requises pour inscrire la légende auprès du moteur de filtre.
[out, optional] calloutId
Pointeur vers une variable de type UINT32 qui reçoit un identificateur d’exécution qui identifie la légende dans le moteur de filtre. Le pilote de légende transmet cet identificateur à la fonction FwpsCalloutUnregisterById0 lors de la désinscription de la légende à partir du moteur de filtre. Si un pilote de légende filtre un flux de données, il transmet également cet identificateur aux fonctions FwpsFlowAssociateContext0 et FwpsFlowRemoveContext0 . Si un pilote de légende injecte des données dans des flux de données, il transmet également cet identificateur à la fonction FwpsStreamInjectAsync0 . Le moteur de filtre transmet également cet identificateur à la fonction de légende flowDeleteFn du pilote de légende. Ce paramètre est facultatif et peut être NULL.
Valeur retournée
La fonction FwpsCalloutRegister2 retourne l’un des codes NTSTATUS suivants.
Code de retour | Description |
---|---|
|
La légende a été correctement inscrite auprès du moteur de filtre. |
|
La légende n’a pas pu être inscrite auprès du moteur de filtre. Une légende est déjà inscrite dans le moteur de filtre avec un identificateur identique au GUID spécifié dans le membre calloutKey de la structure FWPS_CALLOUT2 pointée par le paramètre de légende . |
|
Une erreur est survenue. |
Remarques
Un pilote de légende appelle la fonction FwpsCalloutRegister2 pour inscrire une légende auprès du moteur de filtre. Un pilote de légende peut inscrire une légende auprès du moteur de filtre à tout moment, même si le moteur de filtre n’est pas en cours d’exécution.
Une légende et des filtres qui spécifient la légende pour l’action du filtre peuvent être ajoutés au moteur de filtre avant qu’un pilote de légende enregistre la légende auprès du moteur de filtre. Dans ce cas, les filtres avec un type d’action FWP_ACTION_CALLOUT_TERMINATING ou FWP_ACTION_CALLOUT_UNKNOWN sont traités comme FWP_ACTION_BLOCK, et les filtres avec un type d’action de FWP_ACTION_CALLOUT_INSPECTION sont ignorés jusqu’à ce que la légende soit inscrite auprès du moteur de filtre.
Un pilote de légende annule l’inscription d’une légende à partir du moteur de filtre en appelant le Fonction FwpsCalloutUnregisterById0 ou Fonction FwpsCalloutUnregisterByKey0 . Un pilote de légende ne peut pas être déchargé tant que toutes les légendes précédemment inscrites auprès du moteur de filtre n’ont pas été enregistrées avec succès.
Cette fonction est essentiellement identique à la version précédente, FwpsCalloutRegister1. La seule différence est la structure FWPS_CALLOUT2 mise à jour pointée par le paramètre de légende .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8. |
Plateforme cible | Universal |
En-tête | fwpsk.h (inclure Fwpsk.h) |
Bibliothèque | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |