EVT_WDF_DEVICE_ARM_WAKE_FROM_SX 콜백 함수(wdfdevice.h)

[KMDF 및 UMDF에 적용]

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

구문

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtWdfDeviceArmWakeFromSx;

NTSTATUS EvtWdfDeviceArmWakeFromSx(
  [in] WDFDEVICE Device
)
{...}

매개 변수

[in] Device

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

반환 값

EvtDeviceArmWakeFromSx 콜백 함수에 오류가 발생하지 않으면 STATUS_SUCCESS 또는 NT_SUCCESS(상태)가 TRUE인 다른 상태 값을 반환해야 합니다. 그렇지 않으면 NT_SUCCESS(상태)이 FALSE와 같은 상태 값을 반환해야 합니다.

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

설명

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

이 콜백 함수는 디바이스가 버스에서 절전 모드 해제 신호를 트리거하는 외부 이벤트를 검색할 수 있도록 하는 데 필요한 디바이스별 작업을 처리합니다. 버스 드라이버의 EvtDeviceEnableWakeAtBus 콜백 함수는 PCI 버스의 PME(전원 관리 이벤트) 신호 사용과 같은 버스 관련 작업을 처리합니다.

드라이버가 EvtDeviceArmWakeFromSx 또는 EvtDeviceArmWakeFromSxWithReason 콜백 함수를 등록한 경우 버스 드라이버가 디바이스의 전원 상태를 낮추지만 프레임워크가 드라이버를 대신하여 대기/절전 모드 해제 IRP 를 보낸 후 디바이스가 D0 디바이스 전원 상태에 있는 동안 프레임워크에서 호출합니다.

프로세스는 다음 순서로 수행됩니다.

  1. 프레임워크는 시스템이 저전력 시스템 상태로 들어가려고 하는지 확인합니다.
  2. 프레임워크는 드라이버의 EvtDeviceArmWakeFromSx 또는 EvtDeviceArmWakeFromSxWithReason 콜백 함수를 호출합니다.
  3. 프레임워크는 디바이스의 전원을 낮추기 위해 드라이버에 디바이스의 버스를 요청합니다.
디바이스가 저전력 상태가 되기 직전에 프레임워크는 드라이버의 EvtDeviceD0Exit 콜백 함수를 호출합니다.

프레임워크가 이 콜백 함수를 호출하는 경우에 대한 자세한 내용은 PnP 및 전원 관리 시나리오를 참조하세요.

디바이스에서 절전 모드 해제 신호를 트리거할 수 있는 특수 하드웨어 작업이 필요하지 않은 경우 EvtDeviceArmWakeFromSx 또는 EvtDeviceArmWakeFromSxWithReason 콜백 함수를 제공할 필요가 없습니다.

이 콜백 함수에 대한 자세한 내용은 시스템 절전 모드 해제 지원을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfdevice.h(Wdf.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSxWithReason

EvtDeviceDisarmWakeFromSx