共用方式為


FwpsAllocateNetBufferAndNetBufferList0 函式 (fwpsk.h)

FwpsAllocateNetBufferAndNetBufferList0 函式會配置新的NET_BUFFER_LIST結構。

注意FwpsAllocateNetBufferAndNetBufferList0 是特定版本的 FwpsAllocateNetBufferAndNetBufferList。 如需詳細資訊 ,請參閱 Version-Independent 名稱和以特定版本的 Windows 為目標
 

語法

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

MDL 鏈結的指標,用來初始化預先配置NET_BUFFER結構。 此參數是選擇性的,可以是 NULL

[in] dataOffset

從緩衝區開頭到 MDL 鏈結中已使用資料空間的開頭的初始位移,以位元組為單位。 此位移前的數據空間是未使用的數據空間。 因此,這個值也代表 MDL 鏈結中可用回填空間的初始數量。

[in] dataLength

MDL 鏈結中已使用之數據空間的長度,以位元組為單位。

[out] netBufferList

接收新 NET_BUFFER_LIST 結構的指標的變數指標。

傳回值

FwpsAllocateNetBufferAndNetBufferList0 函式會傳回下列其中一個 NTSTATUS 代碼。

傳回碼 Description
STATUS_SUCCESS
已成功配置新的 NET_BUFFER_LIST 結構。
其他狀態代碼
發生錯誤。

備註

圖說文字驅動程式會呼叫 FwpsAllocateNetBufferAndNetBufferList0 函式來配置新的 NET_BUFFER_LIST 結構。

此函式是的包裝函式 NdisAllocateNetBufferAndNetBufferList 函式,但它是特製化的, 供其使用,供其使用。

在新 NET_BUFFER_LIST 結構所描述的數據成功插入網路堆疊之後,圖說文字驅動程式會藉由呼叫 來釋放新的 NET_BUFFER_LIST 結構 FwpsFreeNetBufferList0 函式。

規格需求

需求
最低支援的用戶端 從 Windows Vista 開始提供。
目標平台 Universal
標頭 fwpsk.h (包含 Fwpsk.h)
程式庫 Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

另請參閱

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

封包插入函式