StorPortAllocatePool 函式 (storport.h)

StorPortAllocatePool 例程會配置非連續、非分頁集區內存的區塊。

語法

ULONG StorPortAllocatePool(
  [in]  PVOID HwDeviceExtension,
  [in]  ULONG NumberOfBytes,
  [in]  ULONG Tag,
  [out] PVOID *BufferPointer
);

參數

[in] HwDeviceExtension

主機總線適配卡的硬體裝置擴充功能指標, (HBA) 。

[in] NumberOfBytes

要配置的記憶體區塊大小,以位元組為單位。

[in] Tag

已配置記憶體的集區標籤。 驅動程式會將集區標籤指定為四個 ASCII 字元的字串,並以單引號分隔。 字串通常會以反向順序指定。

[out] BufferPointer

如果未成功,則為所配置記憶體區塊位址的指標或 NULL

傳回值

StorPortAllocatePool 會傳回下列其中一個狀態代碼:

傳回碼 Description
STOR_STATUS_NOT_IMPLEMENTED 此函式不會在作用中的操作系統上實作。
STOR_STATUS_SUCCESS 表示例程已成功配置要求大小的記憶體區塊。
STOR_STATUS_INVALID_PARAMETER 接收緩衝區位址的指標為 NULL
STOR_STATUS_INVALID_IRQL 呼叫是在無效的 IRQL 進行。
STOR_STATUS_INSUFFICIENT_RESOURCES 無法配置所要求大小的記憶體。

備註

迷你埠驅動程式會呼叫 StorPortAllocatePool 例程,以從非分頁集區配置非連續記憶體區塊。 為了釋放記憶體區塊,迷你埠驅動程式會呼叫 StorPortFreePool。 如果要求失敗, BufferPointer 將會設定為 NULL

規格需求

需求
目標平台 Universal
標頭 storport.h (包含 Storport.h)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 StorPortAllocatePool (storport) 、 StorPortAllocatePool2 (storport) StorPortIrql (storport)

另請參閱

StorPortFreePool