Функция StorPortAllocateContiguousMemorySpecifyCacheNode (storport.h)
Подпрограмма StorPortAllocateContiguousMemorySpecifyCacheNode выделяет диапазон физически непрерывной несмежной памяти без кэширования.
Синтаксис
ULONG StorPortAllocateContiguousMemorySpecifyCacheNode(
[in] PVOID HwDeviceExtension,
[in] SIZE_T NumberOfBytes,
[in] PHYSICAL_ADDRESS LowestAcceptableAddress,
[in] PHYSICAL_ADDRESS HighestAcceptableAddress,
[in, optional] PHYSICAL_ADDRESS BoundaryAddressMultiple,
[in] MEMORY_CACHING_TYPE CacheType,
[in] NODE_REQUIREMENT PreferredNode,
[out] PVOID *BufferPointer
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства для адаптера шины узла (HBA).
[in] NumberOfBytes
Количество байтов, которые необходимо выделить.
[in] LowestAcceptableAddress
Наименьший физический адрес, допустимый для выделения. Например, если устройство может ссылаться только на физическую память в диапазоне от 8 ДО 16 МБ, это значение будет равно 0x800000 (8 МБ).
[in] HighestAcceptableAddress
Максимальный физический адрес, допустимый для выделения. Например, если устройство может ссылаться только на физическую память менее 16 МБ, это значение будет равно 0xFFFFFF (16 МБ –1).
[in, optional] BoundaryAddressMultiple
Физический адрес, кратный этому выделению, не должен пересекать.
[in] CacheType
Требуемый тип кэша для сопоставления.
[in] PreferredNode
Предпочтительный узел, с которого должно быть выполнено выделение, если на этом узле доступны страницы.
[out] BufferPointer
Переменная, получающая начальный адрес выделенного блока памяти. При возвращении из этой подпрограммы, если эта переменная равна нулю, не удалось найти непрерывный диапазон, удовлетворяющий запросу. Если эта переменная не имеет значение NULL, она содержит указатель (например, виртуальный адрес в несмежной части системы) на выделенную физически непрерывную память.
Возвращаемое значение
Подпрограмма StorPortAllocateContiguousMemorySpecifyCacheNode возвращает один из следующих кодов состояния:
Код возврата | Описание |
---|---|
|
Эта функция не реализована в активной операционной системе. |
|
Операция выполнена успешно. |
|
Операции не удалось выделить запрошенную память из-за нехватки ресурсов. |
Комментарии
Если запрос завершится сбоем, BufferPointer будет иметь значение NULL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 7. |
Целевая платформа | Универсальное |
Верхняя часть | storport.h (включая Storport.h) |
IRQL | <=DISPATCH_LEVEL |
Правила соответствия DDI | StorPortIrql(storport) |