Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма HwStorUnitControl драйвера минипорта вызывается для выполнения синхронных операций для управления состоянием устройства единицы хранения.
Синтаксис
HW_UNIT_CONTROL HwUnitControl;
SCSI_UNIT_CONTROL_STATUS HwUnitControl(
[in] PVOID DeviceExtension,
[in] SCSI_UNIT_CONTROL_TYPE ControlType,
[in] PVOID Parameters
)
{...}
Параметры
[in] DeviceExtension
Указатель на область хранения минипорта на единицу хранилища.
[in] ControlType
Значение SCSI_UNIT_CONTROL_TYPE, указывающее операцию управления единицами, где каждый тип элемента управления инициирует действие мини-драйвера. Дополнительные сведения см. в SCSI_UNIT_CONTROL_TYPE.
[in] Parameters
Указатель на структуру или значение, содержащее сведения, связанные с ControlType. Все структуры выделяются вызывающим объектом. Дополнительные сведения см. в SCSI_UNIT_CONTROL_TYPE.
Адрес
Адрес единицы операции управления указан для.
Возвращаемое значение
В зависимости от типа элемента управления HwStorUnitControl возвращает одно из следующих SCSI_UNIT_CONTROL_STATUS значений:
| Возвращаемый код | Описание |
|---|---|
| ScsiUnitControlSuccess | Минипорт-драйвер успешно завершил запрошенную операцию. |
| ScsiUnitControlUnsuccessful | Операция управления единицами не была успешной. |
Замечания
Storport вызывает минипорта HwStorUnitControl с типом управления ScsiQuerySupportedControlType s после инициализации HBA, но до первого ввода-вывода. Минипорт-драйвер заполняет структуру SCSI_SUPPORTED_CONTROL_TYPE_LIST по параметрам с поддерживаемыми операциями. После того как HwStorUnitControl возвращается из этого вызова, драйвер Storport вызывает HwStorAdapterControl обратного вызова для операций, поддерживаемых минипортом.
Storport вызывает HwStorUnitControl, чтобы уведомить минипорт-драйвер изменения на устройство единицы, определяемое адресом, или что минипорт должен выполнить запрос или установить операцию на этом уроке, например запуск единицы или обработку операции управления питанием для единицы.
В следующей таблице перечислены текущие irQL и спинблокировка, полученные при выпуске типа элемента управления.
| Тип элемента управления | IRQL | Блокировка спина |
|---|---|---|
| ScsiQuerySupportedControlTypes | PASSIVE_LEVEL | Никакой |
| ScsiUnitUsage | PASSIVE_LEVEL | Никакой |
| ScsiUnitStart | PASSIVE_LEVEL | Никакой |
| ScsiUnitPower | DISPATCH_LEVEL | Никакой |
| ScsiUnitPoFxPowerInfo | PASSIVE_LEVEL | Никакой |
| ScsiUnitPoFxPowerRequired | DISPATCH_LEVEL | Никакой |
| ScsiUnitPoFxPowerActive | DISPATCH_LEVEL | Никакой |
| ScsiUnitPoFxPowerSetFState | DISPATCH_LEVEL | Никакой |
| ScsiUnitPoFxPowerControl | DISPATCH_LEVEL | Никакой |
| ScsiUnitRemove | PASSIVE_LEVEL | Никакой |
| ScsiUnitSurpriseRemoval | PASSIVE_LEVEL | Никакой |
| ScsiUnitRichDescription | PASSIVE_LEVEL | Никакой |
| ScsiUnitQueryBusType | PASSIVE_LEVEL | Никакой |
| ScsiUnitQueryFruId | PASSIVE_LEVEL | Никакой |
Имя HwStorUnitControl — это просто заполнитель. Фактический прототип этой подпрограммы определяется в storport.h следующим образом:
typedef
SCSI_UNIT_CONTROL_STATUS
HW_UNIT_CONTROL (
_In_ PVOID DeviceExtension,
_In_ SCSI_UNIT_CONTROL_TYPE ControlType,
_In_ PVOID Parameters
);
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 8 |
| целевая платформа | Всеобщий |
| заголовка | storport.h (include Storport.h) |
| IRQL | См. примечания. |