structure FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)

La structure FWPS_STREAM_CALLOUT_IO_PACKET0 décrit les données passées par le moteur de filtre à la fonction de légende classFn d’une légende lors du filtrage d’un flux de données.

NotezFWPS_STREAM_CALLOUT_IO_PACKET0 est une version spécifique de FWPS_STREAM_CALLOUT_IO_PACKET. Pour plus d’informations , voir PAM Version-Independent noms et Ciblage de versions spécifiques de Windows .
 

Syntaxe

typedef struct FWPS_STREAM_CALLOUT_IO_PACKET0_ {
  FWPS_STREAM_DATA0       *streamData;
  SIZE_T                  missedBytes;
  UINT32                  countBytesRequired;
  SIZE_T                  countBytesEnforced;
  FWPS_STREAM_ACTION_TYPE streamAction;
} FWPS_STREAM_CALLOUT_IO_PACKET0;

Membres

streamData

Pointeur vers une structure de FWPS_STREAM_DATA0 qui décrit la partie du flux de données disponible pour la fonction de légende classFn du pilote de légende pour le traitement.

missedBytes

Nombre d’octets manquants dans le flux de données depuis la dernière fois que la fonction de légende classFn du pilote de légende a été appelée. Ce membre n’est pas nul si un filtre de poids plus élevé dans le moteur de filtre a empêché la fonction de légende classifyFn du pilote de légende de traiter une partie du flux de données.

countBytesRequired

Valeur définie par la fonction de légende classifyFn d’une légende. Cette valeur spécifie le nombre d’octets supplémentaires de données de flux requis par la fonction de légende si elle définit le membre streamAction sur FWPS_STREAM_ACTION_NEED_MORE_DATA. Le moteur de filtre attend qu’il reçoive au moins autant d’octets supplémentaires de données de flux avant d’appeler à nouveau la fonction de légende classifyFn du pilote de légende.

Si la fonction de légende classifyFn d’une légende définit le membre streamAction sur une valeur autre que FWPS_STREAM_ACTION_NEED_MORE_DATA, elle doit définir ce membre sur zéro.

countBytesEnforced

Valeur définie par la fonction de légende classifyFn d’une légende. Cette valeur spécifie le nombre d’octets de début de données dans la partie du flux de données en cours de traitement à laquelle s’applique l’action spécifiée par le membre streamAction ou par l’action retournée par la fonction de légende. Toutes les données restantes dans la mémoire tampon de flux seront à nouveau transmises au pilote de légende la prochaine fois que le moteur de filtre appellera la fonction de légende classififn du pilote de légende.

streamAction

Une valeur FWPS_STREAM_ACTION_TYPE définie par la fonction de légende classififn d’une légende qui spécifie l’action à appliquer au flux de données. Cette action est indépendante de l’action retournée par la fonction de légende. La fonction de légende classifyFn d’une légende définit ce membre sur l’un des éléments suivants :

FWPS_STREAM_ACTION_NONE

Aucune action spécifique au flux n’est requise.

FWPS_STREAM_ACTION_ALLOW_CONNECTION

Indique que tous les segments de données futurs appartenant à un flux sont autorisés. Dans ce cas, le PAM cesse de classer tous les segments de données en fonction de la légende et tente de décharger le flux sur le matériel de sorte qu’il n’y ait plus de frais d’inspection.

FWPS_STREAM_ACTION_NEED_MORE_DATA

Plus de données de flux sont requises par la fonction de légende.

FWPS_STREAM_ACTION_DROP_CONNECTION

La connexion de flux doit être supprimée. La fonction de légende classifyFn d’une légende doit uniquement définir le membre streamAction sur cette valeur si le membre action.type de la structure FWPS_FILTER0 que le moteur de filtre a transmis à la fonction de légende classififn du pilote de légende contient la valeur FWP_ACTION_CALLOUT_UNKNOWN. Si la fonction de légende classifyFn d’une légende définit le membre streamAction sur cette valeur lorsque le membre action.type de la structure FWPS_FILTER0 contient la valeur FWP_ACTION_CALLOUT_INSPECTION, la connexion n’est pas supprimée.

FWPS_STREAM_ACTION_DEFER

Le traitement des données de flux est différé jusqu’à ce que le pilote de légende appelle la fonction FwpsStreamContinue0 . Cette action ne peut être définie que pour un flux de données entrant.

Le report d’un flux de données entrant entraîne l’arrêt de la pile réseau des données reçues de l’expéditeur. Cela entraîne une réduction de la taille de la fenêtre TCP glissante. Un pilote de légende peut utiliser ce comportement pour implémenter le contrôle de flux afin de ralentir le débit de données entrant.

La valeur FWPS_STREAM_ACTION_TYPE_MAX est une valeur maximale à des fins de test.

Si la fonction de légende classifyFn d’une légende définit ce membre sur une valeur autre que FWPS_STREAM_ACTION_NONE, l’action retournée par la fonction de légende est ignorée par le moteur de filtre.

Remarques

Le moteur de filtre transmet un pointeur vers une structure FWPS_STREAM_CALLOUT_IO_PACKET0 vers la fonction de légende classifyFn d’une légende en tant que paramètre layerData lors du filtrage d’un flux de données.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows Vista.
En-tête fwpsk.h (inclure Fwpsk.h)

Voir aussi

FWPS_STREAM_DATA0

FwpsStreamContinue0

Types de légendes

classFn