Функция 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 возвращает один из следующих кодов состояния:
Код возврата | Описание |
---|---|
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.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | storport.h (включая Storport.h) |
IRQL | <=DISPATCH_LEVEL |
Правила соответствия DDI | StorPortAllocatePool(storport), StorPortAllocatePool2(storport), StorPortIrql(storport) |