Поделиться через


Функция WdfDeviceInitRegisterPowerPolicyStateChangeCallback (wdfdevice.h)

[Применяется только к KMDF]

Примечание

Этот метод предназначен только для внутреннего использования майкрософт.

Метод WdfDeviceInitRegisterPowerPolicyStateChangeCallback регистрирует функцию обратного вызова событий, предоставляемую драйвером, которую платформа вызывает при изменении состояния конечного автомата политики управления питанием устройства.

Синтаксис

NTSTATUS WdfDeviceInitRegisterPowerPolicyStateChangeCallback(
  [in] PWDFDEVICE_INIT                                       DeviceInit,
  [in] WDF_DEVICE_POWER_POLICY_STATE                         PowerPolicyState,
  [in] PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange,
  [in] ULONG                                                 CallbackTypes
);

Параметры

[in] DeviceInit

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

[in] PowerPolicyState

Перечислитель WDF_DEVICE_POWER_POLICY_STATE , определяющий состояние компьютера политики питания, для которого драйвер запрашивает уведомление.

[in] EvtDevicePowerPolicyStateChange

Предоставленный вызывающим элементом указатель на функцию обратного вызова события EvtDevicePowerPolicyStateChange драйвера.

[in] CallbackTypes

Комбинация WDF_STATE_NOTIFICATION_TYPE типизированных перечислителей ORed.

Возвращаемое значение

Если WdfDeviceInitRegisterPowerPolicyStateChangeCallback не обнаруживает ошибок, он возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:

Код возврата Описание
STATUS_INVALID_PARAMETER
Обнаружен недопустимый параметр.
STATUS_INSUFFICIENT_RESOURCES
Недостаточно памяти для завершения операции.

Комментарии

Если драйвер вызывает WdfDeviceInitRegisterPowerPolicyStateChangeCallback, он должен сделать это перед вызовом WdfDeviceCreate.

Дополнительные сведения о WdfDeviceInitRegisterPowerPolicyStateChangeCallback см. в разделе Конечные машины в платформе.

Примеры

В следующем примере кода регистрируется функция обратного вызова события, которая будет вызываться платформой при изменении состояния конечного автомата политики питания устройства.

status = WdfDeviceInitRegisterPowerPolicyStateChangeCallback(
                                 DeviceInit,
                                 WdfDevStatePwrPolCheckPowerPageable,
                                 PciDrvPowerPolicyStateChangeCallback,
                                 StateNotificationAllStates
                                 );

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfdevice.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки платформы).
IRQL PASSIVE_LEVEL
Правила соответствия DDI ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)