Fonction FwpsCalloutRegister2 (fwpsk.h)

La fonction FwpsCalloutRegister2 inscrit une légende avec le moteur de filtre.

RemarqueFwpsCalloutRegister2 est la version spécifique de FwpsCalloutRegister utilisée dans Windows 8 et versions ultérieures. Pour plus d’informations , voir PAM Version-Independent noms et Ciblage de versions spécifiques de Windows . Pour Windows 7, FwpsCalloutRegister1 est disponible. Pour Windows Vista, FwpsCalloutRegister0 est disponible.

 

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
STATUS_SUCCESS
La légende a été correctement inscrite auprès du moteur de filtre.
STATUS_FWP_ALREADY_EXISTS
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 .
Autres codes status
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

Voir aussi

Création d’un objet Device

FWPS_CALLOUT2

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

Types de légendes

flowDeleteFn