FwpsCalloutRegister1, fonction (fwpsk.h)
La fonction FwpsCalloutRegister1 enregistre une légende auprès du moteur de filtre.
Syntaxe
NTSTATUS FwpsCalloutRegister1(
[in, out] void *deviceObject,
[in] const FWPS_CALLOUT1 *callout,
[out, optional] UINT32 *calloutId
);
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] callout
Pointeur vers une structure de FWPS_CALLOUT1 constante 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 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 FwpsCalloutRegister1 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_CALLOUT1 pointée par le paramètre de légende . |
|
Une erreur est survenue. |
Remarques
Un pilote de légende appelle la fonction FwpsCalloutRegister1 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 de l’action du filtre peuvent être ajoutés au moteur de filtre avant qu’un pilote de légende inscrive 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 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é correctement désinscrits.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 7. |
Plateforme cible | Universal |
En-tête | fwpsk.h (include Fwpsk.h) |
Bibliothèque | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |