다음을 통해 공유


지원 시스템 Wake-Up

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

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

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

    • 디바이스가 입력할 저전력 상태
    • 사용자가 디바이스의 유휴 설정을 제어할 수 있는지 여부
    • 디바이스의 깨우기 기능이 활성화되었는지 비활성화되었는지 여부

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

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

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

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

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