시스템 Wake-Up 지원

시스템이 저전력 상태인 동안 일부 디바이스는 들어오는 네트워크 패킷과 같은 외부 이벤트를 감지한 다음 시스템을 절전 모드 해제할 수 있습니다. 예를 들어 PCI 디바이스에 디바이스의 PMC(전원 관리 기능) 레지스터에 표시된 대로 시스템 절전 모드 해제 기능이 있는 경우 PCI 버스에서 PME(전원 관리 이벤트) 신호를 발생시켜 시스템을 절전 모드 해제합니다.

디바이스가 시스템 전체 저전력 상태에서 시스템을 절전 모드에서 해제할 수 있는 경우 전원 정책 소유자EvtDriverDeviceAdd 콜백 함수는 다음 두 단계를 수행해야 합니다.

  1. WdfDeviceAssignSxWakeSettings를 호출하여 다음을 지정합니다.

    • 디바이스가 입력할 저전력 상태
    • 사용자가 디바이스의 유휴 설정을 제어할 수 있는지 여부
    • 디바이스의 절전 모드 해제 기능 사용 여부

    이러한 설정에 대한 자세한 내용은 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 구조를 참조하세요.

  2. WdfDeviceInitSetPowerPolicyEventCallbacks를 호출하여 디바이스에 필요한 경우 다음 이벤트 콜백 함수를 등록합니다.

버스 운전사는 또한 시스템을 깨우는 데 참여합니다. 디바이스 버스의 드라이버는 일반적으로 EvtDeviceEnableWakeAtBusEvtDeviceDisableWakeAtBus 콜백 함수를 제공합니다. 이러한 함수는 저전력 상태에서 절전 모드를 해제하는 디바이스의 기능을 활성화하고 사용하지 않도록 설정하기 위해 버스 어댑터에 필요한 모든 작업을 수행합니다.

버스 드라이버가 디바이스가 절전 모드 해제 신호를 트리거했다고 판단하는 경우 WdfDeviceIndicateWakeStatus 를 호출하여 디바이스의 전원을 복원해야 한다는 것을 프레임워크에 알려야 합니다. 그런 다음 프레임워크는 이 정보를 드라이버 스택의 나머지 드라이버에 전달합니다.

디바이스의 절전 모드 해제 기능을 제어하는 레지스트리 항목에 대한 자세한 내용은 디바이스 유휴 및 절전 모드 해제 동작의 사용자 제어를 참조하세요.