структура STOR_POFX_DEVICE_V3 (storport.h)
Структура STOR_POFX_DEVICE_V3 описывает атрибуты питания запоминающего устройства для платформы управления питанием (PoFx). Эта структура похожа на STOR_POFX_DEVICE , но позволяет вызывающей объекту указать значение времени ожидания простоя.
Синтаксис
typedef struct _STOR_POFX_DEVICE_V3 {
ULONG Version;
ULONG Size;
ULONG ComponentCount;
ULONG Flags;
union {
ULONG UnitMinIdleTimeoutInMS;
ULONG AdapterIdleTimeoutInMS;
};
ULONG MinimumPowerCyclePeriodInMS;
STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY];
} STOR_POFX_DEVICE_V3, *PSTOR_POFX_DEVICE_V3;
Члены
Version
Номер версии этой структуры. Задайте для этого элемента значение STOR_POFX_DEVICE_VERSION_V3.
Size
Размер этой структуры. Задайте для этого значения значение STOR_POFX_DEVICE_V3_SIZE.
ComponentCount
Количество элементов в массиве Components . Задайте для этого элемента значение 1. В настоящее время для адаптера хранилища или логической единицы поддерживается только один компонент.
Flags
Флаги возможностей состояния питания устройства. Мини-порт устанавливает один или несколько флагов устройств PoFx , чтобы включить или отключить возможности состояния питания. Флаги — это побитовая комбинация ИЛИ следующего.
Значение флага | Значение |
---|---|
STOR_POFX_DEVICE_FLAG_NO_D0 (0x01) | Запрашивает, чтобы IRP питания не отправлялся в объект устройства для адаптера или устройства. |
STOR_POFX_DEVICE_FLAG_NO_D3 (0x02) | Запрашивает, чтобы IRP с выключенным питанием не отправлялось в объект устройства для адаптера или устройства. |
STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD (0x04) | Позволяет Storport задать холодное состояние D3 для адаптера, если он его поддерживает. Этот флаг применяется только к адаптерам. |
STOR_POFX_DEVICE_FLAG_NO_DUMP_ACTIVE (0x08) | Указывает, доступно ли устройство для дампа при его простое. Мини-порт не может перевести устройство хранения в режим дампа, если устройство перешло в состояние простоя или выключено в состоянии простоя. |
STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT (0x10) | Если STOR_POFX_DEVICE_V3 представляет единицу, этот флаг указывает, что поле UnitMinIdleTimeoutInMS должно учитываться. Если STOR_POFX_DEVICE_V3 представляет адаптер, это означает, что поле AdapterIdleTimeoutInMS должно учитываться. |
STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_IDLE_TIMEOUT (0x20) | Указывает, что Storport должен динамически настраивать время ожидания простоя D3 таким образом, чтобы при необходимости устройство вело агрессивный вход в D3. Это допустимо только при использовании STOR_POFX_DEVICE_V3 . |
STOR_POFX_DEVICE_FLAG_NO_UNIT_REGISTRATION (0x40) | Указывает, что ни одна из единиц, предоставляемых этим адаптером, не должна быть зарегистрирована для управления питанием среды выполнения. Это допустимо только для STOR_POFX_DEVICE структур, представляющих адаптер. |
STOR_POFX_DEVICE_FLAG_PERF_STATE_PEP_OPTIONAL (0x80) | Указывает, что мини-порт не требует поддержки P-State от подключаемого модуля расширения платформы (PEP). Если вы сомневаетесь, установите этот флаг. |
STOR_POFX_DEVICE_FLAG_NO_IDLE_DEBOUNCE (0x100) | Проверяет, насколько включена версия дампа минипорта, когда устройство находится в состоянии меньшего питания. |
STOR_POFX_DEVICE_FLAG_DUMP_ALWAYS_POWER_ON (0x200) | Минипорту требуется, чтобы стек дампа попытается включить устройство. |
STOR_POFX_DEVICE_FLAG_DISABLE_INTERRUPTS_ON_D3 (0x400) | Мини-порт хочет, чтобы Storport отключает или включает прерывания для переходов Dx. |
STOR_POFX_DEVICE_FLAG_ADAPTER_D3_WAKE (0x800) | Поддержка пробуждения D3 адаптера isopt-in для минипорта. |
STOR_POFX_DEVICE_FLAG_GET_PERF_STATE_FROM_PEP (0x1000) | Для мини-порта требуются P-состояния из PEP. |
UnitMinIdleTimeoutInMS
Минимальное время простоя в миллисекундах для единицы. Это значение допустимо, только если STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT задано в разделе Флаги.
AdapterIdleTimeoutInMS
Значение времени ожидания простоя адаптера в миллисекундах. Это значение допустимо, только если STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT задано в разделе Флаги.
MinimumPowerCyclePeriodInMS
Указывает, что для устройства не должно быть циклическое питание (D0 –> D3 –> D0) более одного раза за указанный период в миллисекундах. Этот элемент действителен, только если установлен флаг STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_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 10 |
Верхняя часть | storport.h |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по