IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF를 사용하여 시작 참조하세요.]

드라이버의 OnArmWakeFromS0 콜백 함수는 시스템이 S0( 시스템 작동 상태 )에 남아 있는 경우 저전력 디바이스 상태에서 절전 모드 해제 신호를 트리거할 수 있도록 디바이스를 팔(즉, 활성화)합니다.

구문

HRESULT OnArmWakeFromS0(
  [in] IWDFDevice *pWdfDevice
);

매개 변수

[in] pWdfDevice

드라이버의 디바이스 중 하나를 나타내는 디바이스 개체의 IWDFDevice 인터페이스에 대한 포인터입니다.

반환 값

작업이 성공하면 OnArmWakeFromS0 콜백 함수는 S_OK 또는 SUCCEEDED(상태)가 TRUE인 다른 상태 값을 반환해야 합니다. 그렇지 않으면 SUCCEEDED(상태)가 FALSE와 같은 상태 값을 반환해야 합니다.

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

설명

드라이버가 IPowerPolicyCallbackWakeFromS0 인터페이스를 지원하는 경우 드라이버는 OnArmWakeFromS0 콜백 함수를 제공해야 합니다.

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

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

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

  1. 프레임워크는 디바이스가 미리 설정된 시간 동안 유휴 상태임을 확인합니다.
  2. 프레임워크는 드라이버의 OnArmWakeFromS0 콜백 함수를 호출합니다.
  3. 프레임워크는 디바이스의 전원을 낮추기 위해 디바이스의 버스에 대한 드라이버를 요청합니다.
디바이스가 저전력 상태가 되기 직전에 프레임워크는 드라이버의 IPnpCallback::OnD0Exit 콜백 함수를 호출합니다.

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

디바이스의 경우 OnArmWakeFromS0 콜백 함수를 제공할 필요가 없습니다.

  • "선택적 일시 중단"을 지원하는 USB 디바이스입니다.
  • 시스템이 완전히 전원이 공급되는 동안에는 전원을 낮추지 못할 수 있습니다.
  • 디바이스가 절전 모드 해제 신호를 트리거할 수 있도록 하는 특수 하드웨어 작업이 필요하지 않습니다.
디바이스가 USB "선택적 일시 중단"을 지원하고 드라이버가 IWDFDevice2::AssignS0IdleSettings를 호출할 때 IdleUsbSelectiveSuspend를 지정하는 경우 프레임워크는 디바이스가 미리 설정된 시간 동안 유휴 상태일 때 USB 버스 드라이버에 "선택적 일시 중단" 요청을 보냅니다.

이 콜백 함수에 대한 자세한 내용은 UMDF 기반 드라이버에서 유휴 Power-Down 지원을 참조하세요.

요구 사항

요구 사항
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 데스크톱
최소 UMDF 버전 1.9
머리글 wudfddi.h(Wudfddi.h 포함)

추가 정보

IPowerPolicyCallbackWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnWakeFromS0Triggered