FwpsCloneStreamData0 函式 (fwpsk.h)
FwpsCloneStreamData0 函式會配置現有FWPS_STREAM_DATA0數據流的複本。
語法
NTSTATUS FwpsCloneStreamData0(
[in, out] FWPS_STREAM_DATA0 *calloutStreamData,
[in, optional] NDIS_HANDLE netBufferListPoolHandle,
[in, optional] NDIS_HANDLE netBufferPoolHandle,
[in] ULONG allocateCloneFlags,
[out] NET_BUFFER_LIST **netBufferListChain
);
參數
[in, out] calloutStreamData
要複製其NET_BUFFER_LIST結構之原始FWPS_STREAM_DATA0結構的指標。
[in, optional] netBufferListPoolHandle
從先前呼叫 NdisAllocateNetBufferListPool 函式取得的NET_BUFFER_LIST集區句柄。 這個參數是選擇性的,而且可以是 NULL。
[in, optional] netBufferPoolHandle
從先前呼叫 取得 的NET_BUFFER 集區句柄 NdisAllocateNetBufferPool 函式。 這個參數是選擇性的,而且可以是 NULL。
[in] allocateCloneFlags
目前沒有為此函式定義的旗標。 註標驅動程式應該將此參數設定為零。
[out] netBufferListChain
位置的指標,接收描述所有複製數據流數據 之NET_BUFFER_LIST 結構的鏈結指標。
傳回值
FwpsCloneStreamData0 函式會傳回下列其中一個 NTSTATUS 代碼。
傳回碼 | Description |
---|---|
|
已成功配置複製 FWPS_STREAM_DATA0 結構。 |
|
發生錯誤。 |
備註
這個複製的數據流數據可由圖說文字驅動程式插入 TCP/IP 網路堆疊稍後。
FwpsCloneStreamData0 函式會複製現有FWPS_STREAM_DATA0數據流中包含的整個NET_BUFFER_LIST結構鏈結。 函式會修剪未使用的數據,讓圖說驅動程式可以成功將複製的鏈結傳遞至 FwpsStreamInjectAsync0 函式。
成功將複製NET_BUFFER_LIST結構鏈結中的數據流數據插入網路堆疊之後,系統會針對每個複製NET_BUFFER_LIST結構呼叫 completionFn 圖說文字函式,而且圖說文字應該呼叫 FwpsFreeCloneNetBufferList0 以釋放複製NET_BUFFER_LIST結構。
如果要捨棄複製的數據流數據,則圖說文字應該呼叫 FwpsDiscardClonedStreamData0 函式,而不需重新執行。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始提供。 |
目標平台 | Universal |
標頭 | fwpsk.h (包含 Fwpsk.h) |
程式庫 | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |