FWPS_CALLOUT_CLASSIFY_FN2 fonction de rappel (fwpsk.h)
Le moteur de filtre appelle la fonction de légende classifyFn2 d’une légende chaque fois qu’il y a des données à traiter par la légende.
Syntaxe
FWPS_CALLOUT_CLASSIFY_FN2 FwpsCalloutClassifyFn2;
void FwpsCalloutClassifyFn2(
[in] const FWPS_INCOMING_VALUES0 *inFixedValues,
[in] const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
[in, out, optional] void *layerData,
[in, optional] const void *classifyContext,
[in] const FWPS_FILTER2 *filter,
[in] UINT64 flowContext,
[in, out] FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}
Paramètres
[in] inFixedValues
Pointeur vers une structure FWPS_INCOMING_VALUES0 . Cette structure contient les valeurs de chacun des champs de données dans la couche filtrée.
[in] inMetaValues
Pointeur vers un FWPS_INCOMING_METADATA_VALUES0 structure. Cette structure contient les valeurs de chacun des champs de métadonnées dans la couche filtrée.
[in, out, optional] layerData
Pointeur vers une structure qui décrit les données brutes dans la couche filtrée. Ce paramètre peut être NULL, en fonction de la couche filtrée et des conditions dans lesquelles la fonction de légende classifiFn2 est appelée. Pour la couche de flux, ce paramètre pointe vers un FWPS_STREAM_CALLOUT_IO_PACKET0 structure. Pour toutes les autres couches, ce paramètre pointe vers une structure NET_BUFFER_LIST si elle n’est pas NULL.
[in, optional] classifyContext
Pointeur vers les données de contexte associées au pilote de légende par le moteur de filtre.
[in] filter
Pointeur vers une structure FWPS_FILTER2 . Cette structure décrit le filtre qui spécifie la légende de l’action du filtre.
[in] flowContext
Variable de type UINT64 qui contient le contexte associé au flux de données. Si aucun contexte n’est associé au flux de données, ce paramètre est égal à zéro. Si la légende est ajoutée au moteur de filtre au niveau d’une couche de filtrage qui ne prend pas en charge les flux de données, la fonction de légende classFn2 doit ignorer ce paramètre.
[in, out] classifyOut
Pointeur vers une structure FWPS_CLASSIFY_OUT0 qui reçoit toutes les données que la fonction de légende classifyFn2 retourne à l’appelant.
Valeur de retour
None
Remarques
Un pilote de légende inscrit les fonctions de légende d’une légende auprès du moteur de filtre en appelant la fonction FwpsCalloutRegister2 .
Le moteur de filtre appelle la fonction de légende classifyFn2 d’une légende avec des données à traiter chaque fois que toutes les conditions de test sont vraies pour un filtre dans le moteur de filtre qui spécifie la légende pour l’action du filtre.
La fonction de légende classifyFn2 d’une légende doit effacer l’indicateur FWPS_RIGHT_ACTION_WRITE dans le membre de droits de la structure FWPS_CLASSIFY_OUT0 dans les situations suivantes :
- Lorsque la fonction de légende classifyFn2 définit le membre actionType de la structure FWPS_CLASSIFY_OUT0 sur FWP_ACTION_BLOCK.
- Lorsque la fonction de légende classifyFn2 définit le membre actionType de la structure FWPS_CLASSIFY_OUT0 sur FWP_ACTION_PERMIT et que l’indicateur FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT est défini dans le membre Flags de la structure FWPS_FILTER2 .
-
Lorsqu’une légende a indiqué qu’elle a l’intention de modifier la liste de mémoires tampons net clone en définissant le paramètre intendToModify sur TRUE dans un appel à Fonction FwpsReferenceNetBufferList0 .
Cette fonction est essentiellement identique à la version précédente, classifionsFn1. Toutefois, la structure FWPS_FILTER2 mise à jour est pointée vers le paramètre filter et le paramètre layerData est facultatif.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8. |
Plateforme cible | Windows |
En-tête | fwpsk.h (inclure Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
Association d’un contexte à un Data Flow
Fonctions de légende du pilote de légende
FWPS_INCOMING_METADATA_VALUES0Exemples de modification de paquets
Inscription de légendes auprès du moteur de filtre
Utilisation d’une légende pour l’inspection approfondie des données Stream