FWPS_STREAM_CALLOUT_IO_PACKET0 結構 (fwpsk.h)
FWPS_STREAM_CALLOUT_IO_PACKET0結構描述篩選引擎在篩選數據流時傳遞至圖說文字分類Fn 圖說文字函式的數據。
語法
typedef struct FWPS_STREAM_CALLOUT_IO_PACKET0_ {
FWPS_STREAM_DATA0 *streamData;
SIZE_T missedBytes;
UINT32 countBytesRequired;
SIZE_T countBytesEnforced;
FWPS_STREAM_ACTION_TYPE streamAction;
} FWPS_STREAM_CALLOUT_IO_PACKET0;
成員
streamData
FWPS_STREAM_DATA0 結構的指標,描述圖說文字驅動程式之 classifyFn 圖說文字函式可用來處理的數據流部分。
missedBytes
自上次呼叫圖說驅動程式 的 classifyFn 圖說文字函式以來,數據流中遺漏的位元組數目。 如果篩選引擎中的較高權數篩選條件導致圖說文字驅動程式的classifyFn 圖說文字函式無法處理數據流的一部分,則此成員為非零。
countBytesRequired
圖說文字 分類Fn 圖說文字函式所設定的值。 如果圖說文字函式將 streamAction 成員設定為 FWPS_STREAM_ACTION_NEED_MORE_DATA,這個值會指定圖說文字函式需要多少個額外的數據流數據位元組。 篩選引擎會等到它至少收到這個額外的數據流數據位元組,再再次呼叫圖說驅動程式的 classifyFn 圖說文字函式。
如果圖說文字的 classifyFn 圖說文字函式將 streamAction 成員設定為 FWPS_STREAM_ACTION_NEED_MORE_DATA以外的值,則應該將此成員設定為零。
countBytesEnforced
圖說文字 分類Fn 圖說文字函式所設定的值。 這個值會指定要處理之數據流部分的前置位元組數目,該數據流是由 streamAction 成員所指定的動作,或是由圖說文字函式傳回的動作所套用。 下次篩選引擎呼叫圖說文字驅動程式的 classifyFn 圖說文字函式時,數據流緩衝區中的任何剩餘數據都會再次傳遞至圖說文字驅動程式。
streamAction
由圖說文字的 classifyFn 圖說文字函式所設定的FWPS_STREAM_ACTION_TYPE值,指定要套用至數據流的動作。 此動作與圖說文字函式所傳回的動作無關。 圖說文字的 classifyFn 圖說文字函式會將此成員設定為下列其中一項:
FWPS_STREAM_ACTION_NONE
不需要任何數據流特定的動作。
FWPS_STREAM_ACTION_ALLOW_CONNECTION
表示允許屬於流程的所有未來數據區段。 在此案例中,一般會停止將任何數據區段分類至圖說文字,並嘗試將流程卸除至硬體,這樣就不會再產生檢查額外負荷。
FWPS_STREAM_ACTION_NEED_MORE_DATA
圖說函式需要更多數據流數據。
FWPS_STREAM_ACTION_DROP_CONNECTION
應該卸除數據流連線。 如果篩選引擎傳遞給圖說文字驅動程式之 classifyFn 圖說文字函式的 action.type 成員包含值FWPS_FILTER0 FWP_ACTION_CALLOUT_UNKNOWN,則圖說文字的 classifyFn 圖說文字函式應該只會將 streamAction 成員設定為這個值。 如果圖說文字的 classifyFn 圖說文字函式將 streamAction 成員設定為這個值,當FWPS_FILTER0 結構的 action.type 成員包含值FWP_ACTION_CALLOUT_INSPECTION時,將不會卸除連線。
FWPS_STREAM_ACTION_DEFER
數據流數據的處理會延後,直到圖說驅動程式呼叫 FwpsStreamContinue0 函式為止。 此動作只能針對輸入數據流設定。
延遲輸入數據流會導致網路堆疊停止認可從傳送者接收的數據。 這會導致滑動 TCP 視窗的大小減少。 圖說文字驅動程式可以使用此行為來實作流程控制,以降低傳入數據速率的速度。
FWPS_STREAM_ACTION_TYPE_MAX值是測試用途的最大值。
如果圖說文字的 classifyFn 圖說文字函式將此成員設定為 FWPS_STREAM_ACTION_NONE以外的值,則篩選引擎會忽略圖說文字函式所傳回的動作。
備註
篩選引擎會在篩選數據流時,將 指標 傳遞至圖說文字的 classifyFn 圖說文字函式作為 layerData 參數的FWPS_STREAM_CALLOUT_IO_PACKET0結構。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始提供。 |
標頭 | fwpsk.h (包含 Fwpsk.h) |