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) |