structure FWPS_CLASSIFY_OUT0 (fwpstypes.h)
La structure FWPS_CLASSIFY_OUT0 définit les données qui sont retournées à l’appelant de la fonction de légende classifyFn d’une légende.
Syntaxe
typedef struct FWPS_CLASSIFY_OUT0_ {
FWP_ACTION_TYPE actionType;
UINT64 outContext;
UINT64 filterId;
UINT32 rights;
UINT32 flags;
UINT32 reserved;
} FWPS_CLASSIFY_OUT0;
Membres
actionType
Valeur FWP_ACTION_TYPE qui spécifie l’action suggérée à effectuer, déterminée par la fonction de légende classFn du pilote de légende. Un pilote de légende définit cette variable sur l’une des valeurs suivantes :
FWP_ACTION_BLOCK
Bloquer la transmission ou la réception des données.
FWP_ACTION_CONTINUE
Passez la décision de bloquer ou d’autoriser la transmission ou la réception des données au filtre suivant dans le moteur de filtre.
FWP_ACTION_NONE
N’effectuez aucune action sur les données.
FWP_ACTION_NONE_NO_MATCH
N’effectuez aucune action sur les données, car elles ne correspondent pas aux types de données de filtre énumérés.
FWP_ACTION_PERMIT
Autoriser la transmission ou la réception des données.
L’accès en écriture à ce membre est contrôlé par l’indicateur FWPS_RIGHT_ACTION_WRITE dans le membre de droits . Si l’indicateur FWPS_RIGHT_ACTION_WRITE est défini, un pilote de légende peut écrire l’une des valeurs ci-dessus dans ce membre. Si l’indicateur FWPS_RIGHT_ACTION_WRITE n’est pas défini, un pilote de légende ne doit pas écrire dans ce membre, sauf s’il met un veto à une action FWP_ACTION_PERMIT qui a été précédemment retournée par un filtre de poids plus élevé dans le moteur de filtre. Dans ce cas, un pilote de légende définit ce membre sur FWP_ACTION_BLOCK.
outContext
Réservé pour le système. Les pilotes de légende ne doivent pas utiliser ce membre.
filterId
Réservé pour le système. Les pilotes de légende ne doivent pas utiliser ce membre.
rights
Indicateurs qui contrôlent l’accès en écriture aux autres membres de cette structure. Les indicateurs possibles sont les suivants :
FWPS_RIGHT_ACTION_WRITE
Si cet indicateur est défini, un pilote de légende peut écrire dans le membre actionType de cette structure. Si cet indicateur n’est pas défini, un pilote de légende peut écrire uniquement dans le membre actionType de cette structure s’il oppose un veto à une action FWP_ACTION_PERMIT précédemment retournée par un filtre de poids plus élevé dans le moteur de filtre.
flags
Indicateurs qui affectent l’action effectuée sur les données. Les indicateurs possibles sont les suivants :
FWPS_CLASSIFY_OUT_FLAG_ABSORB
Les données bloquées doivent être supprimées en mode silencieux sans journalisation des événements ni audit. Il est généralement utilisé pour la modification de paquets où le paquet d’origine doit être absorbé et le paquet modifié doit être traité plus avant.
Cet indicateur s’applique aux couches suivantes lorsque le membre actionType est défini sur FWP_ACTION_BLOCK :
- FWPS_LAYER_INBOUND_MAC_FRAME_NATIVE
- FWPS_LAYER_OUTBOUND_MAC_FRAME_NATIVE
- FWPS_LAYER_INBOUND_MAC_FRAME_ETHERNET
- FWPS_LAYER_OUTBOUND_MAC_FRAME_ETHERNET
- FWPS_LAYER_INGRESS_VSWITCH_ETHERNET
- FWPS_LAYER_EGRESS_VSWITCH_ETHERNET
- FWPS_LAYER_INBOUND_IPPACKET_V4
- FWPS_LAYER_INBOUND_IPPACKET_V6
- FWPS_LAYER_OUTBOUND_IPPACKET_V4
- FWPS_LAYER_OUTBOUND_IPPACKET_V6
- FWPS_LAYER_INBOUND_TRANSPORT_V4
- FWPS_LAYER_INBOUND_TRANSPORT_V6
- FWPS_LAYER_OUTBOUND_TRANSPORT_V4
- FWPS_LAYER_OUTBOUND_TRANSPORT_V6
- FWPS_LAYER_INBOUND_ICMP_ERROR_V4
- FWPS_LAYER_INBOUND_ICMP_ERROR_V6
- FWPS_LAYER_OUTBOUND_ICMP_ERROR_V4
- FWPS_LAYER_OUTBOUND_ICMP_ERROR_V6
- FWPS_LAYER_DATAGRAM_DATA_V4
- FWPS_LAYER_DATAGRAM_DATA_V6
- FWPS_LAYER_STREAM_PACKET_V4
- FWPS_LAYER_STREAM_PACKET_V6
- FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V4
- FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V6
- FWPS_LAYER_ALE_AUTH_CONNECT_V4
- FWPS_LAYER_ALE_AUTH_CONNECT_V6
Il est également possible de définir cet indicateur au niveau des couches FWPS_LAYER_ALE_FLOW_ESTABLISHED_V4 et FWPS_LAYER_ALE_FLOW_ESTABLISHED_V6. Mais cela n’est pas recommandé, car ces couches sont destinées à associer le contexte à des flux.
Si cet indicateur n’est pas défini, une action de blocage est soumise à la journalisation et à l’audit des événements normaux.
FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED
Le moteur de filtre définit cet indicateur lorsque la mémoire tampon de données du moteur de filtre pour les données de flux est pleine. Cela peut se produire si la fonction de légende classifyFn d’une légende demande plusieurs données en définissant le membre streamAction de la structure FWPS_STREAM_CALLOUT_IO_PACKET0 pour FWPS_STREAM_ACTION_NEED_MORE_DATA jusqu’à ce que la limite de mémoire tampon soit atteinte. Si cet indicateur est défini, la fonction de légende classFn du pilote de légende doit autoriser ou bloquer toutes les données de flux.
Cet indicateur s’applique uniquement aux couches de flux.
FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA
Stream données ont été demandées après la déconnexion du flux.
reserved
Réservé pour le système. Les pilotes de légende ne doivent pas utiliser ce membre.
Remarques
Le moteur de filtre transmet un pointeur vers une structure FWPS_CLASSIFY_OUT0 vers la fonction de légende classifyFn d’une légende. Un pilote de légende utilise cette structure pour retourner des données à l’appelant.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
En-tête | fwpstypes.h (inclure Fwpsk.h, Fwpmtypes.h, Fwpmk.h) |
Voir aussi
FWPS_STREAM_CALLOUT_IO_PACKET0
Identificateurs de couche de filtrage au moment de l’exécution