структура STOR_POFX_DEVICE_V2 (storport.h)

Структура STOR_POFX_DEVICE_V2 описывает атрибуты питания запоминающего устройства для платформы управления питанием (PoFx). Эта структура похожа на STOR_POFX_DEVICE но содержит дополнительные параметры времени ожидания.

Синтаксис

typedef struct _STOR_POFX_DEVICE_V2 {
  ULONG               Version;
  ULONG               Size;
  ULONG               ComponentCount;
  ULONG               Flags;
  union {
    ULONG UnitMinIdleTimeoutInMS;
    ULONG AdapterIdleTimeoutInMS;
  };
  STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY];
} STOR_POFX_DEVICE_V2, *PSTOR_POFX_DEVICE_V2;

Члены

Version

Номер версии этой структуры. Задайте для этого элемента значение STOR_POFX_DEVICE_VERSION_V2.

Size

Размер этой структуры. Задайте для этого значения значение STOR_POFX_DEVICE_SIZE.

ComponentCount

Количество элементов в массиве Components . Задайте для этого элемента значение 1. В настоящее время для адаптера хранилища или логической единицы поддерживается только один компонент.

Flags

Флаги возможностей состояния питания устройства. Мини-порт устанавливает один или несколько флагов устройств PoFx, чтобы включить или отключить возможности состояния питания.

Флаги — это побитовая комбинация ИЛИ следующего.

Значение Значение
STOR_POFX_DEVICE_FLAG_NO_D0
Запрашивает, чтобы IRP питания не отправлялся в объект устройства для адаптера или устройства.
STOR_POFX_DEVICE_FLAG_NO_D3
Запрашивает, чтобы IRP с выключенным питанием не отправлялось в объект устройства для адаптера или устройства.
STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD
Позволяет Storport задать холодное состояние D3 для адаптера, если он его поддерживает. Этот флаг применяется только к адаптерам.
STOR_POFX_DEVICE_FLAG_NO_DUMP_ACTIVE
Мини-порт не может перевести устройство хранения в режим дампа, если устройство перешло в состояние простоя или выключено в состоянии простоя. Этот флаг указывает, доступно ли устройство для дампа при простое.
STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT
Значение времени ожидания в UnitMinIdleTimeoutInMS или AdapterIdleTimeoutInMS используется для времени ожидания простоя D3.

UnitMinIdleTimeoutInMS

Минимальное время простоя в миллисекундах для единицы. Это значение допустимо, только если STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT задано в разделе Флаги.

AdapterIdleTimeoutInMS

Значение времени ожидания простоя адаптера в миллисекундах. Это значение допустимо, только если STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT задано в разделе Флаги.

Components[ANYSIZE_ARRAY]

Этот элемент является первым элементом в массиве из одного или нескольких элементов STOR_POFX_COMPONENT . Если массив содержит несколько элементов, дополнительные элементы сразу же следуют за структурой STOR_POFX_DEVICE . Массив содержит по одному элементу для каждого компонента на устройстве. В настоящее время устройства хранения имеют только один компонент, поэтому дополнительные структуры компонентов не нужны.

Комментарии

Чтобы зарегистрировать адаптер хранилища для поддержки Storport PoFx, драйвер мини-порта вызывает StorPortEnablePassiveInitialization в своей подпрограмме HwStorInitialize и реализует HwStorPassiveInitializeRoutine. Мини-порт вызывает StorPortInitializePoFxPower внутри HwStorPassiveInitializeRoutine , чтобы предоставить сведения о компоненте адаптера.

Чтобы зарегистрировать единицу хранения для поддержки Storport PoFx, драйвер мини-порта реализует процедуру обратного вызова HwStorUnitControl и обеспечивает обработку кода управления блоком ScsiUnitPoFxPowerInfo . При обработке кода элемента управления ScsiUnitPoFxPowerInfo мини-порт вызывает StorPortInitializePoFxPower, если включено управление бездействующего питания для компонента единицы.

Компонент для устройства хранения, определяемый индексом массива Компонентов . Устройства хранения имеют только один компонент, поэтому используется индекс 0. Подпрограммы, такие как StorPortPoFxActivateComponent и StorPortPoFxIdleComponent , используют индекс массива компонента для идентификации компонента.

Требования

Требование Значение
Минимальная версия клиента Поддерживается начиная с Windows 8.
Верхняя часть storport.h

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

STOR_POFX_COMPONENT

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent

StorPortPoFxIdleComponent