NdisAllocateBuffer 函式 (ndis.h)
附註 NDIS 5。 x 已被取代,且已被 NDIS 6 取代。 x。 如需新的 NDIS 驅動程式開發,請參閱從 Windows Vista 開始網路驅動程式。 如需移植 NDIS 5 的相關信息。 x 驅動程式至 NDIS 6。 x,請參閱 將 NDIS 5.x 驅動程式移植到 NDIS 6.0。
NdisAllocateBuffer 會建立緩衝區描述元,以對應已配置、非分頁記憶體區塊內的指定虛擬 (sub)範圍。
語法
void NdisAllocateBuffer(
[out] PNDIS_STATUS Status,
[out] PNDIS_BUFFER *Buffer,
[in, optional] NDIS_HANDLE PoolHandle,
[in] PVOID VirtualAddress,
[in] UINT Length
);
參數
[out] Status
呼叫端提供的變數指標,在此變數中,此函式會傳回緩衝區配置的最終狀態,如果它傳回 Buffer 的有效緩衝區描述元指標,則為NDIS_STATUS_SUCCESS,否則NDIS_STATUS_FAILURE。
[out] Buffer
呼叫端提供的變數指標,在此變數中,此函式會傳回配置之緩衝區描述元的指標。
[in, optional] PoolHandle
指定先前呼叫 NdisAllocateBufferPool所傳回的句柄。
[in] VirtualAddress
先前配置之系統空間記憶體之基底虛擬位址的指標,要對應到傳回的緩衝區描述元中。
[in] Length
指定要對應的位元組數目。
傳回值
沒有
言論
傳回值:無
NdisAllocateBuffer 配置記憶體,並初始化緩衝區描述元來對應先前配置的記憶體指定範圍,例如用於封包標頭或 NIC 接收緩衝區的記憶體。
緩衝區描述元配置會繪製在 NdisAllocateBufferPool 建立的緩衝池上。 驅動程式可以呼叫 NdisAllocateBuffer,以在初始化期間呼叫 NdisAllocateBufferPool 時,配置所需的緩衝區描述 元。
所有較低層級的 NDIS 驅動程式都必須配置它們鏈結至緩衝池封包的所有緩衝區描述元。 只有最高層級的通訊協定驅動程式可以指定 OS 相依描述元對應虛擬記憶體範圍,而且,如果這些記憶體描述元相當於 NDIS 緩衝區描述元,最高層級的通訊協定可以將這類描述元當作參數傳遞至 NdisXxx 函式。
- 目標平臺:通用
要求
要求 | 價值 |
---|---|
標頭 | ndis.h (包括 Ndis.h) |
連結庫 | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |