Поделиться через


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

Подпрограмма StorPortGetLogicalUnit возвращает указатель на область хранения на логическую единицу драйвера мини-порта.

Синтаксис

STORPORT_API PVOID StorPortGetLogicalUnit(
  [in] PVOID HwDeviceExtension,
  [in] UCHAR PathId,
  [in] UCHAR TargetId,
  [in] UCHAR Lun
);

Параметры

[in] HwDeviceExtension

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

[in] PathId

Определяет шину SCSI.

[in] TargetId

Определяет целевой контроллер или устройство в шине.

[in] Lun

Определяет номер логической единицы (LU) целевого устройства.

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

StorPortGetLogicalUnit возвращает указатель на область хранения драйвера мини-порта для запрошенной логической единицы. Если логическая единица не существует, она возвращает значение NULL.

Комментарии

StorPortGetLogicalUnit не имеет значения, если подпрограмма DriverEntry драйвера мини-порта указала ноль для LuExtensionSize в HW_INITIALIZATION_DATA при вызове StorPortInitialize. В противном случае драйвер порта, зависящий от операционной системы, выделяет и инициализирует с нулями набор расширений LU указанного размера для используемого драйвера мини-порта.

Хранилище на единицу lu можно использовать для хранения данных, относящихся к конкретному периферийному устройству, например сохраненных указателей данных. Чтобы получить доступ к этой области, драйвер мини-порта вызывает StorPortGetLogicalUnit , когда драйвер хранит сведения о состоянии или текущей операции для любого конкретного периферийного устройства.

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

Примечание

Когда драйвер мини-порта вызывает StorPortGetLogicalUnit по адресу IRQL = DISPATCH_LEVEL, функция получает блокировку прерывания. Слишком частое вызовы StorPortGetLogicalUnit на этом уровне IRQL влияют на производительность и масштабируемость драйвера мини-порта.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows XP и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)
Библиотека Storport.lib

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

HW_INITIALIZATION_DATA

StorPortInitialize