Функция 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 возвращает один из следующих кодов состояния:

Код возврата Описание
STOR_STATUS_NOT_IMPLEMENTED
Эта функция не реализована в активной операционной системе.
STOR_STATUS_SUCCESS
Операция выполнена успешно.
STOR_STATUS_INSUFFICIENT_RESOURCES
Операции не удалось выделить запрошенную память из-за нехватки ресурсов.

Комментарии

Если запрос завершится сбоем, BufferPointer будет иметь значение NULL.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 7.
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI StorPortIrql(storport)