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


Функция ScsiPortGetLogicalUnit (srb.h)

Подпрограмма ScsiPortGetLogicalUnit возвращает указатель на область хранения для каждого lu драйвера мини-порта для данного периферийного устройства.

Примечание Модели драйверов портов SCSI и драйверов мини-портов SCSI могут быть изменены или недоступны в будущем. Вместо этого рекомендуется использовать модели драйверов Storport и драйверов для мини-портов Storport .
 

Синтаксис

SCSIPORT_API PVOID ScsiPortGetLogicalUnit(
  [in] PVOID HwDeviceExtension,
  [in] UCHAR PathId,
  [in] UCHAR TargetId,
  [in] UCHAR Lun
);

Параметры

[in] HwDeviceExtension

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

[in] PathId

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

[in] TargetId

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

[in] Lun

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

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

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

Комментарии

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

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

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

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть srb.h (включая Miniport.h, Scsi.h)
Библиотека Scsiport.lib

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

DriverEntry of SCSI Miniport Driver

HW_INITIALIZATION_DATA (SCSI)

ScsiPortInitialize

ScsiPortMoveMemory