共用方式為


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

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

[in] dataOffset

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

[in] dataLength

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

[out] netBufferList

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

傳回值

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

傳回碼 描述
STATUS_SUCCESS
已成功配置新的 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

另請參閱

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

封包插入函式