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

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

Синтаксис

typedef struct _STOR_POFX_COMPONENT {
  ULONG                          Version;
  ULONG                          Size;
  ULONG                          FStateCount;
  ULONG                          DeepestWakeableFState;
  GUID                           Id;
  STOR_POFX_COMPONENT_IDLE_STATE FStates[ANYSIZE_ARRAY];
} STOR_POFX_COMPONENT, *PSTOR_POFX_COMPONENT;

Члены

Version

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

Size

Размер этой структуры. Присвойте этому значению значение STOR_POFX_COMPONENT_SIZE.

FStateCount

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

DeepestWakeableFState

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

Id

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

FStates[ANYSIZE_ARRAY]

Массив структур STOR_POFX_COMPONENT_IDLE_STATE . Длина этого массива определяется элементом FStateCount . Каждый элемент массива задает атрибуты F-состояния, поддерживаемого компонентом. Элемент 0 описывает F0, элемент 1 — F1 и т. д. Если требуется несколько структур состояния простоя, дополнительные структуры выделяются в конце структуры STOR_ POFX_COMPONENT , а параметрУ 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-состояние, член size остается равным STOR_POFX_COMPONENT_SIZE и не включает размер дополнительной структуры STOR_POFX_COMPONENT_IDLE_STATE .

Требования

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

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

HW_UNIT_CONTROL

STOR_POFX_COMPONENT_V2

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent