структура PO_FX_DEVICE_V2 (wdm.h)

Структура PO_FX_DEVICE описывает атрибуты питания устройства для платформы управления питанием (PoFx).

Синтаксис

typedef struct _PO_FX_DEVICE_V2 {
  ULONG                                      Version;
  ULONGLONG                                  Flags;
  PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback;
  PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK   ComponentIdleConditionCallback;
  PPO_FX_COMPONENT_IDLE_STATE_CALLBACK       ComponentIdleStateCallback;
  PPO_FX_DEVICE_POWER_REQUIRED_CALLBACK      DevicePowerRequiredCallback;
  PPO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK  DevicePowerNotRequiredCallback;
  PPO_FX_POWER_CONTROL_CALLBACK              PowerControlCallback;
  PVOID                                      DeviceContext;
  ULONG                                      ComponentCount;
  PO_FX_COMPONENT_V2                         Components[ANYSIZE_ARRAY];
} PO_FX_DEVICE_V2, *PPO_FX_DEVICE_V2;

Члены

Version

Номер версии этой структуры. Если драйвер зарегистрируется для поддержки состояния производительности в PoFx, задайте для этого члена значение PO_FX_VERSION_V2. В противном случае задайте для этого элемента значение PO_FX_VERSION_V1.

Flags

Задайте значение 0. В настоящее время флаги для этого элемента не определены.

ComponentActiveConditionCallback

Указатель на подпрограмму обратного вызова ComponentActiveConditionCallback , реализованную драйвером устройства.

ComponentIdleConditionCallback

Указатель на подпрограмму обратного вызова ComponentIdleConditionCallback , реализованную драйвером устройства.

ComponentIdleStateCallback

Указатель на подпрограмму обратного вызова ComponentIdleStateCallback , реализованную драйвером устройства.

DevicePowerRequiredCallback

Указатель на процедуру обратного вызова DevicePowerRequiredCallback , реализованную драйвером устройства.

DevicePowerNotRequiredCallback

Указатель на процедуру обратного вызова DevicePowerNotRequiredCallback , реализованную драйвером устройства.

PowerControlCallback

Указатель на подпрограмму обратного вызова PowerControlCallback , реализованную драйвером устройства.

DeviceContext

Указатель на контекст устройства, выделенного вызывающим объектом. Этот указатель передается в качестве параметра каждой реализованной драйвером функции обратного вызова, на которую указывает данная структура. Драйвер устройства использует этот контекст для хранения сведений о текущем состоянии питания устройства. Этот контекст непрозрачн для PoFx.

ComponentCount

Количество элементов в массиве Components . Кроме того, этот элемент указывает количество компонентов на устройстве.

Components[ANYSIZE_ARRAY]

Этот элемент является первым элементом в массиве из одного или нескольких элементов PO_FX_COMPONENT . Если массив содержит несколько элементов, дополнительные элементы сразу же следуют за PO_FX_DEVICE структурой. Массив содержит по одному элементу для каждого компонента на устройстве. Состоянием питания Fx каждого компонента можно управлять независимо от состояний питания Fx других компонентов на устройстве. Константа ANYSIZE_ARRAY определена как 1 в файле заголовка Ntdef.h.

Комментарии

Чтобы зарегистрировать устройство с помощью PoFx, драйвер вызывает подпрограмму PoFxRegisterDevice и предоставляет в качестве параметра указатель на структуру PO_FX_DEVICE , описывающую устройство.

Каждый элемент в массиве Components описывает атрибуты состояния питания одного компонента на устройстве. Каждый компонент на устройстве идентифицируется по индексу массива Компонентов . Подпрограммы, такие как PoFxActivateComponent и PoFxCompleteIdleCondition , используют индекс массива компонента для идентификации компонента.

Драйвер устройства не требуется для реализации всех шести процедур обратного вызова. Драйвер может задать для указателя функции в структуре PO_FX_DEVICE значение NULL, если драйвер не реализует соответствующую подпрограмму обратного вызова. Однако необходимо реализовать некоторые подпрограммы обратного вызова. В частности, если один или несколько компонентов на устройстве имеют несколько состояний Fx, драйвер должен реализовать подпрограммы ComponentIdleStateCallback, ComponentActiveConditionCallback и ComponentIdleConditionCallback . В противном случае регистрация устройства завершается сбоем, и PoFxRegisterDevice возвращает STATUS_INVALID_PARAMETER.

Требования

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

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

ComponentActiveConditionCallback

ComponentIdleConditionCallback

ComponentIdleStateCallback

DevicePowerNotRequiredCallback

DevicePowerRequiredCallback

PO_FX_COMPONENT

PoFxActivateComponent

PoFxCompleteIdleCondition

PoFxRegisterDevice

PowerControlCallback