Fonction FwpsCalloutRegister0 (fwpsk.h)
La fonction FwpsCalloutRegister0 inscrit une légende avec le moteur de filtre.
Syntaxe
NTSTATUS FwpsCalloutRegister0(
[in, out] void *deviceObject,
[in] const FWPS_CALLOUT0 *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_CALLOUT0 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 FwpsCalloutRegister0 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_CALLOUT0 pointée vers le paramètre de légende . |
|
Une erreur est survenue. |
Remarques
Un pilote de légende appelle la fonction FwpsCalloutRegister0 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
Plateforme cible | Universal |
En-tête | fwpsk.h (inclure Fwpsk.h) |
Bibliothèque | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |