Partager via


structure FWPS_CALLOUT3 (fwpsk.h)

La structure FWPS_CALLOUT3 définit les données requises pour qu’un pilote de légende inscrive une légende auprès du moteur de filtre.

Syntaxe

typedef struct FWPS_CALLOUT3_ {
  GUID                                calloutKey;
  UINT32                              flags;
  FWPS_CALLOUT_CLASSIFY_FN3           classifyFn;
  FWPS_CALLOUT_NOTIFY_FN3             notifyFn;
  FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT3;

Membres

calloutKey

GUID défini par le pilote de légende qui identifie de manière unique la légende.

flags

Indicateurs qui spécifient des paramètres spécifiques aux légendes. Les indicateurs possibles sont les suivants :

Valeur Signification
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW
0x00000001
Un pilote de légende peut spécifier cet indicateur lors de l’inscription d’une légende qui sera ajoutée à une couche qui prend en charge les flux de données. Si cet indicateur est spécifié, le moteur de filtre appelle la fonction de légende classifierFn3 fonction de légende uniquement s’il existe un contexte associé au flux de données. Un pilote de légende associe un contexte à un flux de données en appelant la fonction FwpsFlowAssociateContext0.
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
0x00000002
Un pilote de légende spécifie cet indicateur pour indiquer que la fonction de légende classifierFn3 fonction de légende n’est pas affectée par le déchargement du traitement des données réseau pour décharger les cartes d’interface réseau compatibles. Si cet indicateur n’est pas spécifié, le déchargement du traitement des données réseau est désactivé pour tout le trafic traité par tous les filtres qui spécifient la légende de l’action du filtre.
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY
0x00000004
Un pilote de légende spécifie cet indicateur pour indiquer qu’il peut recevoir des notifications sur les objets et les filtres ajoutés à l’intérieur d’une transaction. Le moteur de filtre envoie la notification une fois la transaction validée.
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION
0x00000008
Un pilote de légende spécifie cet indicateur pour indiquer qu’il peut effectuer l’inspection dynamique des flux de données au niveau du flux. Consultez d’inspection de flux.
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY
0x00000010
Un pilote de légende spécifie cet indicateur pour s’inscrire pour être appelé lorsqu’une opération de socket existante est reclassifiée.
FWP_CALLOUT_FLAG_RESERVED1
0x00000020
Réservé à l’utilisation du système. Les pilotes de légende doivent ignorer cet indicateur.
FWP_CALLOUT_FLAG_ALLOW_RSC
0x00000040
Un pilote de légende spécifie cet indicateur pour indiquer que la légende prend en charge la fusion du segment de réception TCP (RSC) avec de gros paquets allant jusqu’à 64 Ko. Si cet indicateur n’est pas spécifié et qu’une légende est inscrite, RSC est désactivé pour tout le trafic traité par tous les filtres qui spécifient la légende de l’action du filtre.
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY
0x00000080
Un pilote de légende spécifie cet indicateur lors de l’inscription d’une légende qui sera ajoutée au niveau de la couche 2, pour indiquer que son classifierFn3 fonction de légende peut classifier plusieurs structures de NET_BUFFER_LIST chaînées. Pour plus d’informations, consultez Utilisation du filtrage de couche 2.

Attention :
Si un pilote de légende définit cet indicateur, il ne peut pas utiliser les fonctions suivantes pour modifier NET_BUFFER_LISTs.

FwpsReferenceNetBufferList0
FwpsDereferenceNetBufferList0
FwpsAllocateCloneNetBufferList0
FwpsFreeCloneNetBufferList0

Avec cet indicateur défini, FwpsAllocateCloneNetBufferList0 retourne toujours une erreur INVALID_PARAMETER. Cela peut entraîner un échec inattendu d’un pilote de légende tiers pour gérer le nombre de références de NET_BUFFER_LISTs, ce qui entraîne l’arrêt des opérations d’envoi et de réception.
FWP_CALLOUT_FLAG_ALLOW_USO
0x00000100
Un pilote de légende spécifie cet indicateur pour indiquer que la légende prend en charge le déchargement de segmentation UDP (USO) avec des paquets plus grands que le MTU du support réseau. Si cet indicateur n’est pas spécifié et qu’une légende est inscrite, l’authentification USO est désactivée pour tout le trafic traité par tous les filtres qui spécifient la légende de l’action du filtre. Remarque : La version la plus ancienne dans laquelle cet indicateur est pris en charge est Windows Insider Preview, version 10.0.25876.
FWP_CALLOUT_FLAG_ALLOW_URO
0x00000200
Un pilote de légende spécifie cet indicateur pour indiquer que la légende prend en charge le déchargement de réception UDP (URO) avec des paquets volumineux allant jusqu’à 64 Ko. Si cet indicateur n’est pas spécifié et qu’une légende est inscrite, URO est désactivé pour tout le trafic traité par tous les filtres qui spécifient la légende de l’action du filtre. Remarque : Si cet indicateur est spécifié, les légendes ne doivent pas cloner et réinjecter des paquets URO entrants.

classifyFn

Pointeur vers la fonction de légende classifierFn3 fonction de légende du pilote de légende. Le moteur de filtre appelle cette fonction chaque fois qu’il existe des données réseau à traiter par la légende.

notifyFn

Pointeur vers la fonction notifyFn3 du pilote de légende. Le moteur de filtre appelle cette fonction pour informer le pilote de légende des événements associés à la légende.

flowDeleteFn

Pointeur vers la fonction de légende flowDeleteFn du pilote de légende. Le moteur de filtre appelle cette fonction chaque fois qu’un flux de données en cours de traitement par la légende est arrêté.

Si un pilote de légende n’associe pas de contexte aux flux de données que la légende traite, ce membre doit être défini sur NULL.

Remarques

Un pilote de légende transmet un pointeur vers une structure de FWPS_CALLOUT3 initialisée vers la fonction FwpsCalloutRegister3 lorsqu’elle inscrit une légende auprès du moteur de filtre.

Une légende peut définir l’indicateur de FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW uniquement pour les connexions sur lesquelles le pilote souhaite effectuer des inspections de flux. Cette légende est ignorée sur toutes les autres connexions. Les performances seront améliorées et le pilote n’aura pas besoin de conserver les données d’état inutiles.

FWPS_CALLOUT3 est la version spécifique de FWPS_CALLOUT. Pour plus d’informations, consultez PAM Version-Independent noms et ciblage de versions spécifiques de Windows.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 8.
d’en-tête fwpsk.h

Voir aussi