FwpsAllocateNetBufferAndNetBufferList0 函式 (fwpsk.h)
FwpsAllocateNetBufferAndNetBufferList0 函式會配置新的 NET_BUFFER_LIST 結構。
語法
NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
[in] NDIS_HANDLE poolHandle,
[in] USHORT contextSize,
[in] USHORT contextBackFill,
[in, optional] MDL *mdlChain,
[in] ULONG dataOffset,
[in] SIZE_T dataLength,
[out] NET_BUFFER_LIST **netBufferList
);
參數
[in] poolHandle
從先前呼叫 NdisAllocateNetBufferListPool 函式取得的 NET_BUFFER_LIST 集區句柄。
[in] contextSize
要保留圖說文字驅動程式之 NET_BUFFER_LIST_CONTEXT 結構中已使用之數據空間的大小,以位元組為單位。 此參數的值必須是 MEMORY_ALLOCATION_ALIGNMENT所定義的值倍數。
[in] contextBackFill
圖說文字驅動程式所需的未使用資料空間(回填空間)的大小,以位元組為單位。 FwpsAllocateNetBufferAndNetBufferList0 函式會將此值新增至 contextSize 參數中指定的值,並配置額外的空間。 此參數的值必須是 MEMORY_ALLOCATION_ALIGNMENT所定義的值倍數。
[in, optional] mdlChain
用來初始化預先配置NET_BUFFER結構的 MDL 鏈結指標。 這個參數是選擇性的,而且可以 NULL。
[in] dataOffset
從緩衝區開頭到 MDL 鏈結中已使用之數據空間的開頭的初始位移,以位元組為單位。 此位移前面的數據空間是未使用的數據空間。 因此,這個值也代表 MDL 鏈結中可用回填空間的初始數量。
[in] dataLength
MDL 鏈結中已使用之數據空間的長度,以位元組為單位。
[out] netBufferList
接收新 NET_BUFFER_LIST 結構指標之變數的指標。
傳回值
FwpsAllocateNetBufferAndNetBufferList0 函式會傳回下列其中一個 NTSTATUS 程式代碼。
傳回碼 | 描述 |
---|---|
|
已成功配置新的 NET_BUFFER_LIST 結構。 |
|
發生錯誤。 |
言論
圖說文字驅動程式會呼叫 FwpsAllocateNetBufferAndNetBufferList0 函式來配置新的 NET_BUFFER_LIST 結構。
此函式是 周圍的包裝函式 NdisAllocateNetBufferAndNetBufferList 函式,但它是特製化的,供 WFP 封包插入函式使用。
在新 NET_BUFFER_LIST 結構描述的數據成功插入網路堆疊之後,圖說文字驅動程式會藉由呼叫 釋放新的 NET_BUFFER_LIST 結構 FwpsFreeNetBufferList0 函式。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始提供。 |
目標平臺 | 普遍 |
標頭 | fwpsk.h (包括 Fwpsk.h) |
連結庫 | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |