FWPS_CALLOUT_CLASSIFY_FN0 fonction de rappel (fwpsk.h)
Le moteur de filtre appelle la fonction de légende classifierFn0 fonction de légende chaque fois qu’il existe des données à traiter par la légende.
Syntaxe
FWPS_CALLOUT_CLASSIFY_FN0 FwpsCalloutClassifyFn0;
void FwpsCalloutClassifyFn0(
[in] const FWPS_INCOMING_VALUES0 *inFixedValues,
[in] const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
[in, out] void *layerData,
[in] const FWPS_FILTER0 *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 au niveau de la couche filtrée.
[in] inMetaValues
Pointeur vers un structure FWPS_INCOMING_METADATA_VALUES0. Cette structure contient les valeurs de chacun des champs de métadonnées au niveau de la couche filtrée.
[in, out] layerData
Pointeur vers une structure qui décrit les données brutes au niveau de la couche filtrée. Ce paramètre peut être NULL, selon la couche filtrée et les conditions dans lesquelles la fonction de légende classifierFn0 est appelée. Pour la couche de flux, ce paramètre pointe vers un structure FWPS_STREAM_CALLOUT_IO_PACKET0. Pour toutes les autres couches, ce paramètre pointe vers une structure NET_BUFFER_LIST si elle n’est pas NULL.
[in] filter
Pointeur vers une structure FWPS_FILTER0. Cette structure décrit le filtre qui spécifie la légende de l’action du filtre.
[in] flowContext
Variable typée 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 dans une couche de filtrage qui ne prend pas en charge les flux de données, la classifierFn0 fonction de légende doit ignorer ce paramètre.
[in, out] classifyOut
Pointeur vers une structure FWPS_CLASSIFY_OUT0 qui reçoit les données que la fonction de légende classifieFn0 retourne à l’appelant.
Valeur de retour
Aucun
Remarques
Un pilote de légende inscrit les fonctions de légende d’un légende auprès du moteur de filtre en appelant la fonction FwpsCalloutRegister0.
Le moteur de filtre appelle la fonction de légende classifierFn0 fonction de 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 de l’action du filtre.
La fonction de légende classifieFn0 de légende doit effacer l’indicateur de FWPS_RIGHT_ACTION_WRITE dans les droits de membre de la structure FWPS_CLASSIFY_OUT0 dans l’une des situations suivantes :
- Lorsque la fonction de légende classifierFn0 définit le actionType membre de la structure FWPS_CLASSIFY_OUT0 sur FWP_ACTION_BLOCK.
- Lorsque la fonction de légende classifierFn0 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_FILTER0.
- Lorsqu’une légende a indiqué qu’elle a l’intention de modifier la liste de mémoires tampons du clone net en définissant le paramètre intendToModify sur TRUE dans un appel à la fonction FwpsReferenceNetBufferList0.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows Vista. |
plateforme cible | Windows |
d’en-tête | fwpsk.h (include Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
associer un contexte à un flux de données
fonctions de légende du pilote de légende
FWPS_INCOMING_METADATA_VALUES0exemples de modification de paquets
inscrire des légendes auprès du moteur de filtre
à l’aide d’une légende pour l’inspection approfondie des données de flux de données
à l’aide d’une légende pour les d’inspection approfondie