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

Структура STOR_POFX_COMPONENT_V2 описывает атрибуты состояния питания компонента запоминающего устройства.

Синтаксис

typedef struct _STOR_POFX_COMPONENT_V2 {
  ULONG                          Version;
  ULONG                          Size;
  ULONG                          FStateCount;
  ULONG                          DeepestWakeableFState;
  GUID                           Id;
  ULONG                          DeepestAdapterPowerRequiredFState;
  ULONG                          DeepestCrashDumpReadyFState;
  STOR_POFX_COMPONENT_IDLE_STATE FStates[ANYSIZE_ARRAY];
} STOR_POFX_COMPONENT_V2, *PSTOR_POFX_COMPONENT_V2;

Члены

Version

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

Size

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

FStateCount

Количество элементов в массиве, на которые указывает элемент FStates . Кроме того, этот элемент указывает количество состояний функциональной мощности (F-состояние), поддерживаемых компонентом. Компонент должен поддерживать по крайней мере одно F-состояние (F0).

DeepestWakeableFState

Индекс самого глубокого F-состояния, из которого компонент может проснуться. Укажите 0 для F0, 1 для F1 и т. д. Этот индекс должен быть меньше FStateCount.

Id

Идентификатор компонента, который однозначно идентифицирует этот компонент по отношению к другим компонентам на устройстве. Драйвер должен указать ненулевое значение для этого элемента, если для платформы управления питанием (PoFx) требуется идентификатор компонента, чтобы отличать этот компонент от других аналогичных компонентов на том же устройстве. Идентификаторы компонентов, поддерживаемые Storport, STORPORT_POFX_ADAPTER_GUID (определяет адаптер) и STORPORT_POFX_LUN_GUID (определяет единицу).

DeepestAdapterPowerRequiredFState

Самое глубокое F-состояние, в котором может находиться этот компонент, где адаптеру по-прежнему требуется питание. Это относится только к компонентам, идентификатор которых STOR_POFX_LUN_GUID.

DeepestCrashDumpReadyFState

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

FStates[ANYSIZE_ARRAY]

Массив структур STOR_POFX_COMPONENT_IDLE_STATE . Длина этого массива определяется элементом FStateCount . Каждый элемент массива задает атрибуты F-состояния, поддерживаемого компонентом. Элемент 0 описывает F0, элемент 1 — F1 и т. д. Если требуется несколько структур состояния бездействия, дополнительные структуры выделяются в конце структуры STOR_ POFX_COMPONENT_V2 , а FStateCount имеет значение 1, то есть значение ANYSIZE_ARRAY, а также количество дополнительных структур.

Комментарии

Когда драйвер мини-порта регистрирует устройство с помощью платформы управления питанием Storport, драйвер минипорта предоставляет STOR_POFX_DEVICE структуру, содержащую сведения о регистрации. Эта структура содержит массив STOR_ POFX_COMPONENT структур. Элементы в этом массиве описывают атрибуты питания отдельных компонентов на устройстве. Управление параметрами питания этих компонентов осуществляется на основе сведений в этом массиве.

Элемент Id содержит идентификатор компонента, который однозначно идентифицирует компонент. Идентификатор компонента отличается от индекса компонента, который подпрограмма, например StorPortPoFxActivateComponent , использует для идентификации компонента на зарегистрированном устройстве. Индекс компонента — это индекс массива Components в структуре STOR_POFX_DEVICE, используемой драйвером устройства для регистрации устройства. Если массив Components содержит N элементов, индексы компонентов представляют собой целочисленные значения в диапазоне от 0 до N–1. В отличие от этого, идентификатор компонента является значением GUID.

Идентификатор компонента устройства с одним адаптером определяется в storport.h как STORPORT_POFX_ADAPTER_GUID. Идентификатор компонента устройства с одним устройством STORPORT_POFX_LUN_GUID. Используйте эти идентификаторы при описании компонента адаптера или компонента единицы измерения в элементе Id .

Ниже приведены требования к F-состоянию.

  • Для компонента устройства адаптера минипорт должен указать один компонент и до восьми F-состояний для адаптера. StorPortInitializePoFxPower должен вызываться мини-портом только в контексте пассивной процедуры инициализации мини-порта.
  • Для компонента устройства единицы минипорт должен указать один компонент для единицы и может указать до двух F-состояний. Устройство устройства должно иметь состояние F0 и при необходимости может иметь одно дополнительное F-состояние. StorPortInitializePoFxPower должен вызываться мини-портом только в контексте элемента управления единицами ScsiUnitPoFxPowerInfo мини-порта.

Если в массив FStates включено дополнительное F-состояние для компонента устройства, член размера остается равным STOR_POFX_COMPONENT_SIZE и не включает размер дополнительной структуры STOR_POFX_COMPONENT_IDLE_STATE .

Требования

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

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

HW_UNIT_CONTROL

STOR_POFX_COMPONENT

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent