共用方式為


NdisAllocateNetBufferMdlAndData 函式 (ndis/nblapi.h)

NDIS 驅動程式會呼叫 NdisAllocateNetBufferMdlAndData 函式來配置NET_BUFFER結構,以及相關聯的 MDL 和數據。

語法

NDIS_EXPORTED_ROUTINE NET_BUFFER * NdisAllocateNetBufferMdlAndData(
  [in] NDIS_HANDLE PoolHandle
);

參數

[in] PoolHandle

先前從呼叫 NdisAllocateNetBufferPool 函式傳回的NET_BUFFER結構集區句柄。

傳回值

NdisAllocateNetBufferMdlAndData 會傳回 NDIS 配置之NET_BUFFER結構的指標。 如果設定失敗,此指標會 NULL

言論

呼叫端必須呼叫 NdisAllocateNetBufferPool 函式,並指定數據緩衝區的大小上限。 假設有這個值,NDIS 可以預先配置呼叫端的緩衝區。

此函式會在單一記憶體緩衝區中配置 NET_BUFFER 結構、MDL 和數據。 當經常配置和釋放NET_BUFFER結構時,這很適合達到高效能。 呼叫端不應呼叫 NdisAllocateNetBuffer,以配置包含數據的NET_BUFFER集區NET_BUFFERs。

NDIS 會使用 PoolHandle 參數來取得記憶體區塊,然後建立NET_BUFFER、MDL 和數據緩衝區。

若要釋放NET_BUFFER和相關信息,請呼叫 NdisFreeNetBuffer 函式。

要求

要求 價值
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平臺 普遍
標頭 ndis/nblapi.h (include ndis.h)
連結庫 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_NetBuffer_Function(ndis),NdisAllocateNetBufferMdlAndData(ndis),NdisAllocateNetBufferMdlAndData_InitFail(ndis)

另請參閱

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer