structure FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)
La structure FWPS_STREAM_CALLOUT_IO_PACKET0 décrit les données transmises par le moteur de filtre à la fonction de légende classifierFn fonction de légende lors du filtrage d’un flux de données.
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 classifierFn fonction de légende du pilote de légende pour le traitement.
missedBytes
Nombre d’octets dans le flux de données manquants depuis la dernière fois que le pilote de légende classifieFn fonction de légende a été appelée. Ce membre n’est pas zéro si un filtre de poids plus élevé dans le moteur de filtre a empêché la fonction de légende classifiableFn du pilote de légende de traiter une partie du flux de données.
countBytesRequired
Valeur définie par la fonction de légende classifierFn fonction de légende. Cette valeur spécifie le nombre d’octets supplémentaires de données de flux requises 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 ce nombre d’octets supplémentaires de données de flux avant d’appeler à nouveau la fonction de légende classFn du pilote de légende.
Si la fonction de légende classifieFn fonction de légende définit le membre streamAction sur une valeur autre que FWPS_STREAM_ACTION_NEED_MORE_DATA, il doit définir ce membre sur zéro.
countBytesEnforced
Valeur définie par la fonction de légende classifierFn fonction de légende. Cette valeur spécifie le nombre d’octets principaux de données dans la partie du flux de données en cours de traitement à laquelle l’action spécifiée par le membre streamAction ou par l’action retournée par la fonction de légende s’applique. Toutes les données restantes dans la mémoire tampon de flux sont transmises au pilote de légende à nouveau la prochaine fois que le moteur de filtre appelle la fonction de légende classifiableFn du pilote de légende.
streamAction
Valeur FWPS_STREAM_ACTION_TYPE définie par la fonction de légende classifieFn fonction de 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 classifiableFn d’un légende définit ce membre sur l’une des options suivantes :
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 classifier les segments de données à la légende et tente de décharger le flux sur le matériel afin qu’aucune surcharge d’inspection supplémentaire ne soit engagée.
FWPS_STREAM_ACTION_NEED_MORE_DATA
D’autres 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 classifieFn de légende doit uniquement définir le membre streamAction sur cette valeur si le action.type membre de la structure de FWPS_FILTER0 que le moteur de filtre passé à la fonction de légende classFn du pilote de légende contient la valeur FWP_ACTION_CALLOUT_UNKNOWN. Si la fonction de légende classifiableFn d’un 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 sera 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 l’accusé de réception des données reçues de l’expéditeur par la pile réseau. Cela entraînera 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 pour 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 classifiezFn fonction de 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 à une structure de FWPS_STREAM_CALLOUT_IO_PACKET0 à la fonction de légende classifierFn fonction de légende en tant que paramètre layerData lors du filtrage d’un flux de données.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows Vista. |
d’en-tête | fwpsk.h (include Fwpsk.h) |