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

[Применимо к KMDF и UMDF]

Метод WdfDeviceAssignSxWakeSettings предоставляет предоставленные драйвером сведения о способности устройства активировать сигнал пробуждения, пока устройство и система находятся в малом энергопотреблении.

Синтаксис

NTSTATUS WdfDeviceAssignSxWakeSettings(
  [in] WDFDEVICE                              Device,
  [in] PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings
);

Параметры

[in] Device

Дескриптор объекта устройства платформы.

[in] Settings

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

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

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

Код возврата Описание
STATUS_INVALID_DEVICE_REQUEST
Вызывающий драйвер не является владельцем политики питания устройства.
STATUS_INVALID_PARAMETER
Обнаружено недопустимое значение параметров .
STATUS_INFO_LENGTH_MISMATCH
Неправильный размер структуры WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS .
STATUS_POWER_STATE_INVALID
Драйвер шины указывает, что устройство не может активировать сигнал пробуждения, или структура WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS содержит недопустимое состояние питания устройства.
 

Метод может возвращать другие значения NTSTATUS.

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Комментарии

Дополнительные сведения см. в разделе Поддержка пробуждения системы.

Примеры

В следующем примере кода инициализируется структура WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS, а затем вызывается метод WdfDeviceAssignSxWakeSettings. В примере используются параметры по умолчанию, которые WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT задает.

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS  wakeSettings;
NTSTATUS  status = STATUS_SUCCESS;

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT(&wakeSettings);

status = WdfDeviceAssignSxWakeSettings(
                                       device,
                                       &wakeSettings
                                       );
if (!NT_SUCCESS(status)) {
    return status;
}

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfdevice.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), FDOPowerPolicyOwnerAPI(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NonFDONotPowerPolicyOwnerAPI(kmdf)

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

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS

WdfDeviceAssignS0IdleSettings