FWPS_CALLOUT2結構 (fwpsk.h)

FWPS_CALLOUT2 結構會定義圖說文字驅動程式向篩選引擎註冊圖說文字所需的數據。

注意FWPS_CALLOUT2 是 Windows 8 和更新版本中使用的特定FWPS_CALLOUT版本。 如需詳細資訊 ,請參閱 Version-Independent 名稱和以特定 Windows 版本為目標 。 針對 Windows 7,FWPS_CALLOUT1 可供使用。 針對 Windows Vista,FWPS_CALLOUT0 可供使用。

 

語法

typedef struct FWPS_CALLOUT2_ {
  GUID                                calloutKey;
  UINT32                              flags;
  FWPS_CALLOUT_CLASSIFY_FN2           classifyFn;
  FWPS_CALLOUT_NOTIFY_FN2             notifyFn;
  FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT2;

成員

calloutKey

可唯一識別圖說文字的圖說文字驅動程式定義 GUID

flags

指定註標特定參數的旗標。 可能的旗標包括:

意義
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW
0x00000001
圖說文字驅動程式可以在註冊將在支持數據流的圖層新增的圖說文字時,指定此旗標。 如果指定此旗標,篩選引擎只會在有與數據流相關聯的內容時,才呼叫圖說文字驅動程式 的 classifyFn2 圖說文字函式。 圖說文字驅動程式會藉由呼叫 FwpsFlowAssociateContext0 函式,將內容與數據流產生關聯。
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
0x00000002
圖說文字驅動程式會指定這個旗標,以指出圖說文字驅動程式 的 classifyFn2 圖說文字函式不會受到卸載網路數據處理,以卸除支持的網路介面卡, (NIC) 。 如果未指定此旗標,則會針對指定篩選動作圖說文字的所有流量停用網路數據處理的卸除。
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY
0x00000004
圖說文字驅動程式會指定此旗標,指出它可以接收有關交易內新增之對象和篩選條件的通知。 篩選引擎會在認可交易之後傳送通知。
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION
0x00000008
圖說文字驅動程式會指定此旗標,指出它可以在數據流層級執行數據流的動態數據流檢查。 請參閱 Stream 檢查
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY
0x00000010
圖說文字驅動程式會指定這個旗標,以在重新分類現有的套接字作業時註冊要呼叫的旗標。
FWP_CALLOUT_FLAG_RESERVED1
0x00000020
保留供系統使用。 圖說文字驅動程序應該忽略此旗標。
FWP_CALLOUT_FLAG_ALLOW_RSC
0x00000040
圖說文字驅動程式會指定此旗標,指出圖說文字支援 TCP 接收區段聯合 (RSC) ,且封包最多為 64K。 如果未指定此旗標,而且已註冊圖說文字,則所有由指定篩選動作圖說文字之篩選條件處理的流量都會停用 RSC。
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY
0x00000080
圖說文字驅動程式會在註冊將在第 2 層新增的圖說文字時指定此旗標,以指出其 classifyFn2 圖說文字函式可以將多個鏈結 NET_BUFFER_LIST 結構分類。 如需詳細資訊,請參閱 使用第 2 層篩選
注意  

如果圖說文字驅動程式設定此旗標,就無法使用下列函式來修改NET_BUFFER_LISTs。

設定此旗標后, FwpsAllocateCloneNetBufferList0 一律會傳回 INVALID_PARAMETER 錯誤。 這可能會導致第三方圖說文字驅動程式無法管理NET_BUFFER_LISTs的參考計數,導致傳送和接收作業停止。

FWP_CALLOUT_FLAG_ALLOW_USO
0x00000100
圖說文字驅動程式會指定此旗標,指出圖說文字支援 UDP 分割卸除 (USO) ,且封包大於網路媒體的 MTU。 如果未指定此旗標,而且已註冊圖說文字,則所有由指定篩選動作圖說文字的篩選所處理的流量都會停用 USO。 注意:支援此旗標的最早版本是 Windows Insider Preview 10.0.25876 版。
FWP_CALLOUT_FLAG_ALLOW_URO
0x00000200
圖說文字驅動程式會指定此旗標,指出圖說文字支援 UDP 接收卸除 (URO) ,且封包最多為 64K。 如果未指定此旗標,並註冊圖說文字,則所有由指定篩選動作圖說文字的篩選所處理的流量都會停用URO。 注意: 如果指定此旗標,則圖說文字不得複製並重新輸入 URO 封包。

classifyFn

圖說文字驅動程式 之 classifyFn2 圖說文字函式的指標。 每當圖說文字要處理網路數據時,篩選引擎就會呼叫此函式。

notifyFn

圖說文字驅動程式 notifyFn2 函式的指標。 篩選引擎會呼叫此函式,以通知圖說文字驅動程式與圖說文字相關聯的事件。

flowDeleteFn

圖說文字驅動程式 流程的指標DeleteFn 圖說文字函式。 每當圖說文字正在處理的數據流終止時,篩選引擎就會呼叫此函式。

如果圖說文字驅動程式未將內容與圖說文字處理的數據流產生關聯,則此成員應該設定為 NULL。

備註

圖說文字驅動程式會在向篩選引擎註冊圖說文字時,將初始化 FWPS_CALLOUT2 結構的指標傳遞給 FwpsCalloutRegister2 函式。

圖說文字只能針對驅動程式有興趣執行串流檢查的連線 設定FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW 旗標。 所有其他連線都會忽略此圖說文字。 效能將會改善,而且驅動程式不需要維護不必要的狀態數據。

此結構基本上與舊版相同, FWPS_CALLOUT1。 唯一的差異在於此版本的成員會儲存圖說文字函式指標的更新版本,而其他旗標可供圖說文字驅動程序設定。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
標頭 fwpsk.h (包含 Fwpsk.h)

另請參閱

FWPS_CALLOUT0

FWPS_CALLOUT1

FwpsCalloutRegister2

使用第2層篩選

classifyFn2

flowDeleteFn

notifyFn2