structure FWPS_CALLOUT2 (fwpsk.h)
La structure FWPS_CALLOUT2 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_CALLOUT2_ {
GUID calloutKey;
UINT32 flags;
FWPS_CALLOUT_CLASSIFY_FN2 classifyFn;
FWPS_CALLOUT_NOTIFY_FN2 notifyFn;
FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT2;
Membres
calloutKey
GUID défini par un 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 |
---|---|
|
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 classifyFn2 du pilote de légende uniquement si un contexte est associé au flux de données. Un pilote de légende associe un contexte à un flux de données en appelant la fonction FwpsFlowAssociateContext0 . |
|
Un pilote de légende spécifie cet indicateur pour indiquer que la fonction de légende classifiableFn2 du pilote de légende n’est pas affectée par le déchargement du traitement des données réseau sur des cartes d’interface réseau compatibles avec le déchargement. 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 les filtres qui spécifient la légende pour l’action du filtre. |
|
Un pilote de légende spécifie cet indicateur pour indiquer qu’il peut recevoir des notifications sur les objets et filtres ajoutés à l’intérieur d’une transaction. Le moteur de filtre envoie la notification une fois la transaction validée. |
|
Un pilote de légende spécifie cet indicateur pour indiquer qu’il peut effectuer une inspection dynamique des flux de données au niveau du flux. Consultez inspection Stream. |
|
Un pilote de légende spécifie cet indicateur pour s’inscrire lui-même à appeler lorsqu’une opération de socket existante est reclassifiée. |
|
Réservé pour le système. Les pilotes de légende doivent ignorer cet indicateur. |
|
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 des paquets volumineux allant jusqu’à 64 000. 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 les filtres qui spécifient la légende pour l’action du filtre. |
|
Un pilote de légende spécifie cet indicateur lors de l’inscription d’une légende qui sera ajoutée à la couche 2, afin d’indiquer que sa fonction de légende classifyFn2 peut classifier plusieurs structures 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.
Avec cet indicateur défini, FwpsAllocateCloneNetBufferList0 retourne toujours une erreur INVALID_PARAMETER . Cela peut entraîner de manière inattendue l’échec d’un pilote de légende tierce pour gérer le nombre de références de NET_BUFFER_LISTs, entraînant l’arrêt des opérations d’envoi et de réception. |
|
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 supérieurs à la MTU du support réseau. Si cet indicateur n’est pas spécifié et qu’une légende est inscrite, USO est désactivé pour tout le trafic traité par tous les filtres qui spécifient la légende pour l’action du filtre. Note: La première version sur laquelle cet indicateur est pris en charge est Windows Insider Preview, version 10.0.25876. |
|
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, l’URO est désactivé pour tout le trafic traité par tous les filtres qui spécifient la légende pour l’action du filtre. Note: Si cet indicateur est spécifié, les légendes ne doivent pas cloner et réinjecter les paquets URO entrants. |
classifyFn
Pointeur vers la fonction de légende classFn2 du pilote de légende. Le moteur de filtre appelle cette fonction chaque fois qu’il y a des données réseau à traiter par la légende.
notifyFn
Pointeur vers la fonction notifyFn2 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 FWPS_CALLOUT2 initialisée vers la fonction FwpsCalloutRegister2 lorsqu’il inscrit une légende auprès du moteur de filtre.
Une légende peut définir l’indicateur FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW uniquement pour les connexions sur lesquelles le pilote souhaite effectuer des inspections de flux. Cette légende sera ignorée sur toutes les autres connexions. Les performances seront améliorées et le pilote n’aura pas à gérer les données d’état inutiles.
Cette structure est essentiellement identique à la version précédente, FWPS_CALLOUT1. Les seules différences sont que les membres de cette version stockent les versions mises à jour des pointeurs de fonction de légende, et que des indicateurs supplémentaires sont disponibles pour les pilotes de légende à définir.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8. |
En-tête | fwpsk.h (inclure Fwpsk.h) |