Partager via


FwpsCalloutRegister1, fonction (fwpsk.h)

La fonction FwpsCalloutRegister1 enregistre une légende auprès du moteur de filtre.

RemarqueFwpsCalloutRegister1 est la version spécifique de FwpsCalloutRegister utilisée dans Windows 7 et versions ultérieures. Pour plus d’informations , consultez WFP Version-Independent Names and Targeting Specific Versions of Windows . Pour Windows 8, FwpsCalloutRegister2 est disponible. Pour Windows Vista, FwpsCalloutRegister0 est disponible.
 

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
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_CALLOUT1 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 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

Voir aussi

FWPS_CALLOUT1

FwpsCalloutRegister0

FwpsCalloutRegister2

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

Types de légendes

flowDeleteFn