EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON 콜백 함수(wdfdevice.h)

[KMDF 및 UMDF에 적용]

드라이버의 EvtDeviceArmWakeFromSxWithReason 이벤트 콜백 함수 암은 저전력 디바이스 상태에서 절전 모드 해제 신호를 트리거할 수 있도록 디바이스를 활성화합니다. 절전 모드 해제 신호로 인해 디바이스가 작동 상태(D0)로 들어가고 시스템이 작동 상태(S0)로 진입합니다.

구문

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtWdfDeviceArmWakeFromSxWithReason;

NTSTATUS EvtWdfDeviceArmWakeFromSxWithReason(
  [in] WDFDEVICE Device,
  [in] BOOLEAN DeviceWakeEnabled,
  [in] BOOLEAN ChildrenArmedForWake
)
{...}

매개 변수

[in] Device

프레임워크 디바이스 개체에 대한 핸들입니다.

[in] DeviceWakeEnabled

TRUE인 경우 디바이스의 시스템 절전 모드 해제 기능이 활성화되었음을 나타내는 부울 값입니다.

[in] ChildrenArmedForWake

TRUE인 경우 하나 이상의 자식 디바이스에서 시스템을 절전 모드 해제할 수 있음을 나타내는 부울 값입니다.

반환 값

EvtDeviceArmWakeFromSxWithReason 콜백 함수에 오류가 발생하지 않으면 NT_SUCCESS(status)가 TRUESTATUS_SUCCESS 또는 다른 상태 값을 반환해야 합니다. 그렇지 않으면 NT_SUCCESS(status)가 FALSE상태 값을 반환해야 합니다.

NT_SUCCESS(status)가 FALSE인 경우 프레임워크는 드라이버의 EvtDeviceDisarmWakeFromSx 콜백 함수를 호출합니다. (프레임워크는 PnP 관리자에게 디바이스 오류를 보고하지 않습니다.)

설명

버전 1.7 이상 버전의 KMDF 는 EvtDeviceArmWakeFromSxWithReason 콜백 함수와 EvtDeviceArmWakeFromSx 콜백 함수를 지원합니다.

EvtDeviceArmWakeFromSxWithReason 콜백 함수를 등록하려면 드라이버가 WdfDeviceInitSetPowerPolicyEventCallbacks를 호출해야 합니다. 드라이버는 EvtDeviceArmWakeFromSx 콜백 함수 또는 EvtDeviceArmWakeFromSxWithReason 콜백 함수를 등록할 수 있지만 둘 다 등록할 수는 없습니다.

EvtDeviceArmWakeFromSxWithReason 콜백 함수는 드라이버가 프레임워크에서 호출한 이유를 확인할 수 있는 두 가지 매개 변수를 제공합니다.

  • WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 구조체의 Enabled 멤버가 디바이스가 시스템을 절전 모드에서 해제할 수 있음을 나타내는 경우 프레임워크는 DeviceWakeEnabled 매개 변수를 TRUE로 설정합니다.
  • 디바이스의 자식 디바이스 중 하나 이상이 시스템을 절전 모드에서 해제할 수 있고 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS ArmForWakeIfChildrenAreArmedForWake 멤버가 TRUE로 설정된 경우 프레임워크는 ChildrenArmedForWake 매개 변수를 TRUE로 설정합니다.
다음 시나리오로 인해 이러한 매개 변수 중 하나 또는 둘 다 TRUE일 수 있습니다.
  • 드라이버의 디바이스는 시스템을 절전 모드 해제할 수 있습니다.
  • 디바이스의 자식 디바이스 중 하나 이상이 시스템을 절전 모드 해제할 수 있습니다.
  • 디바이스와 하나 이상의 자식 디바이스 모두 시스템을 절전 모드 해제할 수 있습니다.
EvtDeviceArmWakeFromSxWithReason 콜백 함수에 대한 자세한 내용은 EvtDeviceArmWakeFromSx의 설명 섹션을 참조하세요.

요구 사항

   
대상 플랫폼 유니버설
최소 KMDF 버전 1.7
최소 UMDF 버전 2.0
헤더 wdfdevice.h(Wdf.h 포함)
IRQL PASSIVE_LEVEL

참고 항목

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSx

EvtDeviceDisarmWakeFromSx