Функция StorPortGetUncachedExtension (storport.h)

Подпрограмма StorPortGetUncachedExtension выделяет общий буфер без кэширования, который будет совместно использоваться ЦП и устройством.

Синтаксис

STORPORT_API PVOID StorPortGetUncachedExtension(
  PVOID                           HwDeviceExtension,
  PPORT_CONFIGURATION_INFORMATION ConfigInfo,
  ULONG                           NumberOfBytes
);

Параметры

HwDeviceExtension

Указатель на расширение аппаратного устройства. Это область хранения HBA, которую драйвер порта выделяет и инициализирует от имени драйвера мини-порта. Драйверы мини-портов обычно хранят сведения, относящиеся к HBA, в этом расширении, такие как состояние HBA и сопоставленные диапазоны доступа для HBA. Эта область доступна драйверу мини-порта сразу после того, как драйвер мини-порта вызывает StorPortInitialize. Драйвер порта освобождает эту память при удалении устройства.

ConfigInfo

Указывает сведения о возможностях DMA адаптера HBA. Необходимо заполнить следующие элементы: DmaChannel или DmaPort, DmaWidth, DmaSpeed, MaximumTransferLength, ScatterGather, master set to TRUE, NumberOfPhysicalBreaks, AdapterInterfaceType, Dma32BitAddresses, Dma64BitAddresses, SystemIoBusNumber, AutoRequestSense и SrbExtensionSize.

Элементы, которые не относятся к HBA, например DmaChannel для адаптера master шины EISA, должны быть оставлены как есть.

NumberOfBytes

Требуемый размер некэшированного расширения для выделения (в байтах).

Возвращаемое значение

StorPortGetUncachedExtension возвращает указатель виртуального адреса на некэшированное расширение. Если не удается выделить запрошенную память, возвращается значение NULL. Если память была выделена ранее, возвращается указатель виртуального адреса на текущее некэшированного расширения.

Комментарии

Устройства master шины используют общее буферное пространство для передачи данных DMA.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)
Библиотека Storport.lib

См. также раздел

ScsiPortGetUncachedExtension