FWPS_CLASSIFY_OUT0 結構 (fwpstypes.h)
FWPS_CLASSIFY_OUT0 結構會定義傳回給圖說文字分類圖說函式之呼叫端的數據。
語法
typedef struct FWPS_CLASSIFY_OUT0_ {
FWP_ACTION_TYPE actionType;
UINT64 outContext;
UINT64 filterId;
UINT32 rights;
UINT32 flags;
UINT32 reserved;
} FWPS_CLASSIFY_OUT0;
成員
actionType
FWP_ACTION_TYPE值,指定要依照圖說文字驅動程序分類Fn 圖說文字函式所決定的建議動作。 圖說文字驅動程式會將此變數設定為下列其中一個值:
FWP_ACTION_BLOCK
禁止傳輸或接收數據。
FWP_ACTION_CONTINUE
傳遞決策來封鎖或允許數據傳輸或接收至篩選引擎中的下一個篩選。
FWP_ACTION_NONE
對數據執行任何動作。
FWP_ACTION_NONE_NO_MATCH
不對數據執行任何動作,因為它不符合列舉的篩選數據類型。
FWP_ACTION_PERMIT
允許傳輸或接收數據。
此成員的寫入存取權是由許可權成員中的FWPS_RIGHT_ACTION_WRITE旗標所控制。 如果 已設定FWPS_RIGHT_ACTION_WRITE 旗標,圖說文字驅動程式可以將上述任何值寫入這個成員。 如果未設定 FWPS_RIGHT_ACTION_WRITE 旗標,則圖說文字驅動程式不應該寫入此成員,除非該驅動程式已保留先前由篩選引擎中較高權數篩選條件傳回 的FWP_ACTION_PERMIT 動作。 在這種情況下,圖說文字驅動程式會將此成員設定為 FWP_ACTION_BLOCK。
outContext
保留供系統使用。 圖說文字驅動程式不得使用此成員。
filterId
保留供系統使用。 圖說文字驅動程式不得使用此成員。
rights
旗標,控制此結構中其他成員的寫入許可權。 可能的旗標包括:
FWPS_RIGHT_ACTION_WRITE
如果已設定此旗標,圖說文字驅動程式可以寫入這個結構的 actionType 成員。 如果未設定此旗標,則圖說文字驅動程式只能在篩選引擎中較高的權數篩選條件傳回的FWP_ACTION_PERMIT動作時寫入此結構的 actionType 成員。
flags
影響對數據採取之動作的旗標。 可能的旗標包括:
FWPS_CLASSIFY_OUT_FLAG_ABSORB
封鎖的數據會以無訊息方式卸除,而不需要任何事件記錄或稽核。 這通常用於封包修改,其中原始封包要被吸收,而修改的封包則會進一步處理。
當 actionType 成員設定為 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
您也可以在FWPS_LAYER_ALE_FLOW_ESTABLISHED_V4層和FWPS_LAYER_ALE_FLOW_ESTABLISHED_V6層設定此旗標。 但不建議這麼做,因為這些層是為了將內容與流程產生關聯。
如果未設定此旗標,封鎖動作將受限於一般事件記錄和稽核。
FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED
當數據流數據的篩選引擎數據緩衝區已滿時,篩選引擎就會設定此旗標。 如果圖說文字的 classifyFn 圖說文字函式重複要求更多數據,請將FWPS_STREAM_CALLOUT_IO_PACKET0結構的 streamAction 成員設定為FWPS_STREAM_ACTION_NEED_MORE_DATA,直到達到緩衝區限制為止,就會發生此情況。 如果設定此旗標,圖說文字驅動程式的 classifyFn 圖說文字函式必須允許或封鎖所有數據流數據。
此旗標僅適用於數據流層。
FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA
在數據流中斷連線之後,要求 Stream 數據。
reserved
保留供系統使用。 圖說文字驅動程式不得使用此成員。
備註
篩選引擎會將指標傳遞給圖說文字的分類Fn 圖說函式FWPS_CLASSIFY_OUT0結構。 圖說文字驅動程式會使用此結構將數據傳回給呼叫端。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始提供。 |
標頭 | fwpstypes.h (包括 Fwpsk.h、Fwpmtypes.h、Fwpmk.h) |