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 和更新版本支援。 |
目標平台 | Universal |
標頭 | ndis/nblapi.h (include ndis.h) |
程式庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Irql_NetBuffer_Function (ndis) 、NdisAllocateNetBufferMdlAndData (ndis) ,NdisAllocateNetBufferMdlAndData_InitFail (ndis) |