共用方式為


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

另請參閱