Partager via


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.

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

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

classFn