struttura FWPS_CLASSIFY_OUT0 (fwpstypes.h)

La struttura FWPS_CLASSIFY_OUT0 definisce i dati restituiti al chiamante della funzione di callout classifyFn di un callout.

 

Sintassi

typedef struct FWPS_CLASSIFY_OUT0_ {
  FWP_ACTION_TYPE actionType;
  UINT64          outContext;
  UINT64          filterId;
  UINT32          rights;
  UINT32          flags;
  UINT32          reserved;
} FWPS_CLASSIFY_OUT0;

Members

actionType

Valore FWP_ACTION_TYPE che specifica l'azione suggerita da eseguire in base alla funzione di callout del driver di callout classifyFn . Un driver di callout imposta questa variabile su uno dei valori seguenti:

FWP_ACTION_BLOCK

Impedisci la trasmissione o la ricezione dei dati.

FWP_ACTION_CONTINUE

Passare la decisione di bloccare o consentire la trasmissione o la ricezione dei dati al filtro successivo nel motore di filtro.

FWP_ACTION_NONE

Non eseguire alcuna azione sui dati.

FWP_ACTION_NONE_NO_MATCH

Non eseguire alcuna azione sui dati perché non corrisponde ai tipi di dati di filtro enumerati.

FWP_ACTION_PERMIT

Consentire la trasmissione o la ricezione dei dati.

L'accesso in scrittura a questo membro è controllato dal flag FWPS_RIGHT_ACTION_WRITE nel membro rights . Se il flag FWPS_RIGHT_ACTION_WRITE è impostato, un driver di callout può scrivere uno qualsiasi dei valori precedenti a questo membro. Se il flag FWPS_RIGHT_ACTION_WRITE non è impostato, un driver di callout non deve scrivere in questo membro, a meno che non stia vetando un'azione FWP_ACTION_PERMIT restituita in precedenza da un filtro di peso maggiore nel motore di filtro. In una situazione di questo tipo, un driver di callout imposta questo membro su FWP_ACTION_BLOCK.

outContext

Riservato per l'utilizzo nel sistema. I driver callout non devono utilizzare questo membro.

filterId

Riservato per l'utilizzo nel sistema. I driver callout non devono utilizzare questo membro.

rights

Flag che controllano l'accesso in scrittura agli altri membri all'interno di questa struttura. I flag possibili sono:

FWPS_RIGHT_ACTION_WRITE

Se questo flag è impostato, un driver di callout può scrivere nel membro actionType di questa struttura. Se questo flag non è impostato, un driver di callout può scrivere solo nel membro actionType di questa struttura se sta vetando un'azione di FWP_ACTION_PERMIT restituita in precedenza da un filtro di peso maggiore nel motore di filtro.

flags

Flag che influiscono sull'azione eseguita sui dati. I flag possibili sono:

FWPS_CLASSIFY_OUT_FLAG_ABSORB

I dati bloccati devono essere eliminati automaticamente senza registrazione eventi o controllo. Questo viene in genere usato per la modifica dei pacchetti in cui il pacchetto originale deve essere assorbito e il pacchetto modificato deve essere ulteriormente elaborato.

Questo flag è applicabile ai livelli seguenti quando il membro actionType è impostato su 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

È anche possibile impostare questo flag sui livelli FWPS_LAYER_ALE_FLOW_ESTABLISHED_V4 e FWPS_LAYER_ALE_FLOW_ESTABLISHED_V6. Ma questa operazione non è consigliata, perché questi livelli sono destinati all'associazione del contesto ai flussi.

Se questo flag non è impostato, un'azione di blocco sarà soggetta alla normale registrazione degli eventi e al controllo.

FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED

Il motore di filtro imposta questo flag quando il buffer dei dati del motore di filtro per i dati del flusso è pieno. Ciò può verificarsi se una funzione callout classifyFn di un callout richiede ripetutamente più dati impostando il membro streamAction della struttura FWPS_STREAM_CALLOUT_IO_PACKET0 su FWPS_STREAM_ACTION_NEED_MORE_DATA fino al raggiungimento del limite del buffer. Se questo flag è impostato, la funzione callout del driver classifyFn del driver deve consentire o bloccare tutti i dati del flusso.

Questo flag è applicabile solo ai livelli del flusso.

FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA

Stream dati sono stati richiesti dopo la disconnessione del flusso.

reserved

Riservato per l'utilizzo nel sistema. I driver callout non devono utilizzare questo membro.

Commenti

Il motore di filtro passa un puntatore a una struttura FWPS_CLASSIFY_OUT0 alla funzione di callout classifyFn di un callout. Un driver di callout usa questa struttura per restituire i dati al chiamante.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Vista.
Intestazione fwpstypes.h (include Fwpsk.h, Fwpmtypes.h, Fwpmk.h)

Vedi anche

FWPS_STREAM_CALLOUT_IO_PACKET0

Identificatori del livello di filtro in fase di esecuzione

classifyFn