NdisAllocateNetBufferList 函式 (ndis/nblapi.h)

呼叫 NdisAllocateNetBufferList 函式,從 NET_BUFFER_LIST 結構集區配置和初始化NET_BUFFER_LIST結構。

語法

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
  [in] NDIS_HANDLE PoolHandle,
  [in] USHORT      ContextSize,
  [in] USHORT      ContextBackFill
);

參數

[in] PoolHandle

先前從呼叫傳回的NET_BUFFER_LIST結構集區句柄 NdisAllocateNetBufferListPool

[in] ContextSize

要保留給呼叫端之NET_BUFFER_LIST_CONTEXT結構中已使用的數據空間量。 ContextSize 必須是MEMORY_ALLOCATION_ALIGNMENT所定義的多個值。

[in] ContextBackFill

呼叫端所需的 未使用資料空間 量 (回填空間) 。 NDIS 會將此值新增至 ContextSize ,並配置額外的空間。 ContextBackFill 必須是MEMORY_ALLOCATION_ALIGNMENT所定義的多個值。

傳回值

NdisAllocateNetBufferList 會傳回已配置之NET_BUFFER_LIST結構的指標。 如果配置失敗,則此指標為 NULL

備註

您可以呼叫 NdisAllocateNetBufferList NdisAllocateNetBufferAndNetBufferList 函式可從集區配置 NET_BUFFER_LIST 結構。

請注意,必須 從 NDIS 緩衝池配置NET_BUFFER和 NET_BUFFER_LIST 結構。 驅動程式不得從其私人記憶體集區或堆疊配置和初始化NET_BUFFER_LIST或NET_BUFFER結構。
 
如果您呼叫 NdisAllocateNetBufferList ,且已藉由呼叫 來配置NET_BUFFER_LIST結構集區 NdisAllocateNetBufferListPool 函式,且NET_BUFFER_LIST_POOL_PARAMETERS結構的 fAllocateNetBuffer 成員設定為 TRUE,NDIS 會配置NET_BUFFER_LIST、NET_BUFFER、MDL 和數據。

呼叫 NdisFreeNetBufferList 函式以釋放NET_BUFFER_LIST結構。

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平台 Universal
標頭 ndis/nblapi.h (include ndis.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_NetBuffer_Function (ndis) 、NdisAllocateNetBufferList2 (ndis) ,NdisAllocateNetBufferList2_InitFail (ndis)

另請參閱

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList