структура 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[ANYSIZE_ARRAY]
Этот элемент является первым элементом в массиве одного или нескольких элементов PO_FX_COMPONENT. Если массив содержит несколько элементов, дополнительные элементы сразу же следуют PO_FX_DEVICE структуре. Массив содержит один элемент для каждого компонента устройства. Состояние питания каждого компонента Fx можно контролировать независимо от состояний питания Fx других компонентов на устройстве. Константа ANYSIZE_ARRAY определена как 1 в файле заголовка Ntdef.h.
Замечания
Чтобы зарегистрировать устройство с помощью PoFx, драйвер вызывает PoFxRegisterDevice подпрограмму и предоставляет в качестве параметра указатель на структуру PO_FX_DEVICE, описывающую устройство.
Каждый элемент в массиве компонентов описывает атрибуты состояния питания одного компонента на устройстве. Каждый компонент на устройстве определяется своими компонентами индексом массива. Подпрограммы, такие как PoFxActivateComponent и PoFxCompleteIdleCondition использовать индекс массива компонента для идентификации компонента.
Драйвер устройства не требуется для реализации всех шести подпрограмм обратного вызова. Драйвер может задать указатель функции в структуре PO_FX_DEVICE значение NULL, если драйвер не реализует соответствующую подпрограмму обратного вызова. Однако некоторые подпрограммы обратного вызова должны быть реализованы. В частности, если на устройстве имеется несколько компонентов, драйвер должен реализовать ComponentIdleStateCallback, ComponentActiveConditionCallbackи подпрограмм ComponentIdleConditionCallback. В противном случае регистрация устройства завершается ошибкой и PoFxRegisterDevice возвращает STATUS_INVALID_PARAMETER.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается начиная с Windows 8. |
заголовка | wdm.h (include Wudfwdm.h) |
См. также
ComponentActiveConditionCallback
ComponentIdleConditionCallback