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(status)가 FALSE 경우 프레임워크는 드라이버의 EvtDeviceDisarmWakeFromSx 콜백 함수를 호출합니다. (프레임워크는 PnP 관리자에게 디바이스 오류를 보고하지 않습니다.)
발언
EvtDeviceArmWakeFromSx 콜백 함수를 등록하려면 드라이버가 WdfDeviceInitSetPowerPolicyEventCallbacks를 호출해야 합니다. 드라이버는 EvtDeviceArmWakeFromSx 콜백 함수 또는 EvtDeviceArmWakeFromSxWithReason 콜백 함수를 등록할 수 있지만 둘 다 등록할 수는 없습니다.
이 콜백 함수는 디바이스가 버스에서 절전 모드 해제 신호를 트리거하는 외부 이벤트를 검색할 수 있도록 하는 데 필요한 디바이스별 작업을 처리합니다. 버스 드라이버의 EvtDeviceEnableWakeAtBus 콜백 함수는 PCI 버스의 PME(전원 관리 이벤트) 신호 사용과 같은 버스 관련 작업을 처리합니다.
드라이버가 EvtDeviceArmWakeFromSx 또는 EvtDeviceArmWakeFromSxWithReason 콜백 함수를 등록한 경우 프레임워크는 디바이스가 D0 디바이스 전원 상태에 있는 동안, 버스 드라이버가 디바이스의 전원 상태를 낮추기 전에 호출하지만 프레임워크가 드라이버를 대신하여 대기/절전 모드 해제 IRP 보낸 후에 호출합니다.
이 프로세스는 다음 순서로 수행됩니다.
- 프레임워크는 시스템이 저전력 시스템 상태가 되도록 결정합니다.
- 프레임워크는 드라이버의 EvtDeviceArmWakeFromSx 또는 EvtDeviceArmWakeFromSxWithReason 콜백 함수를 호출합니다.
- 프레임워크는 디바이스의 전원을 낮추도록 드라이버에 디바이스의 버스를 요청합니다.
프레임워크가 이 콜백 함수를 호출하는 시기에 대한 자세한 내용은 PnP 및 Power Management 시나리오참조하세요.
디바이스에서 절전 모드 해제 신호를 트리거할 수 있는 특수 하드웨어 작업이 필요하지 않은 경우 EvtDeviceArmWakeFromSx 또는 EvtDeviceArmWakeFromSxWithReason 콜백 함수를 제공할 필요가 없습니다.
이 콜백 함수에 대한 자세한 내용은 지원 시스템 절전 모드 해제참조하세요.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
헤더 | wdfdevice.h(Wdf.h 포함) |
IRQL | PASSIVE_LEVEL |