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