FWPS_CALLOUT_CLASSIFY_FN0回呼函式 (fwpsk.h)
每當圖說文字要處理數據時,篩選引擎就會呼叫圖說文字的 classifyFn0 圖說文字函式。
語法
FWPS_CALLOUT_CLASSIFY_FN0 FwpsCalloutClassifyFn0;
void FwpsCalloutClassifyFn0(
[in] const FWPS_INCOMING_VALUES0 *inFixedValues,
[in] const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
[in, out] void *layerData,
[in] const FWPS_FILTER0 *filter,
[in] UINT64 flowContext,
[in, out] FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}
參數
[in] inFixedValues
FWPS_INCOMING_VALUES0 結構的指標。 這個結構包含所篩選圖層上每個數據欄位的值。
[in] inMetaValues
的指標 FWPS_INCOMING_METADATA_VALUES0 結構。 這個結構包含所篩選圖層上每個元數據欄位的值。
[in, out] layerData
結構的指標,描述所篩選層的原始數據。 此參數可能是 NULL,視要篩選的圖層和 呼叫 classifyFn0 圖說文字函式的條件而定。 針對數據流層,此參數指向 FWPS_STREAM_CALLOUT_IO_PACKET0 結構。 對於所有其他圖層,如果不是 NULL,此參數會指向NET_BUFFER_LIST結構。
[in] filter
FWPS_FILTER0 結構的指標。 這個結構描述指定篩選動作之圖說文字的篩選。
[in] flowContext
UINT64 型別變數,其中包含與數據流相關聯的內容。 如果沒有內容與數據流相關聯,則此參數為零。 如果圖說文字新增至篩選層不支持數據流的篩選引擎, 則classifyFn0 圖說文字函式應該忽略此參數。
[in, out] classifyOut
FWPS_CLASSIFY_OUT0 結構的指標,可接收分類Fn0 圖說文字函式傳回給呼叫端的任何數據。
傳回值
無
備註
圖說文字驅動程式會藉由呼叫 FwpsCalloutRegister0 函式,向篩選引擎註冊圖說文字的圖說文字函式。
篩選引擎會呼叫圖說文字的 classifyFn0 圖說文字函式,並在篩選引擎中指定篩選動作之圖說文字的篩選條件為 true 時,處理數據。
圖說文字的 classifyFn0 圖說文字函式應該在下列任一情況下,清除FWPS_CLASSIFY_OUT0結構 許可權 成員中的 FWPS_RIGHT_ACTION_WRITE 旗標:
- 當 classifyFn0 圖說文字函式將 FWPS_CLASSIFY_OUT0 結構的 actionType 成員設定為FWP_ACTION_BLOCK時。
- 當 classifyFn0 圖說文字函式將FWPS_CLASSIFY_OUT0結構的 actionType 成員設定為FWP_ACTION_PERMIT,而FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT旗標是在 FWPS_FILTER0 結構的 Flags 成員中設定。
- 當圖說文字指出其想要在 FwpsReferenceNetBufferList0 函式的呼叫中,將 intendToModify 參數設定為 TRUE,以修改複製 net 緩衝區清單。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始提供。 |
目標平台 | Windows |
標頭 | fwpsk.h (包含 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |