WinUSB 전원 관리
WinUSB는 전원 관리에 KMDF 상태 컴퓨터를 사용합니다. 전원 정책은 WinUsb_SetPowerPolicy 호출을 통해 관리됩니다.
WinUSB의 전원 동작을 수정하기 위해 디바이스의 INF에서 기본 레지스트리 설정을 수정할 수 있습니다. 이러한 값은 HW에 값을 추가하여 레지스트리의 디바이스 특정 위치에 기록되어야 합니다. INF의 AddReg 섹션입니다.
다음 목록에 설명된 레지스트리 값을 디바이스의 INF에 지정하여 전원 동작을 수정할 수 있습니다.
시스템 절전 모드 해제
이 기능은 SystemWakeEnabled DWORD 레지스트리 설정에 의해 제어됩니다. 이 값은 디바이스가 저전력 상태에서 시스템을 절전 모드 해제할 수 있는지 여부를 나타냅니다.
HKR,,SystemWakeEnabled,0x00010001,1
- 값이 0이거나 이 값이 없으므로 디바이스가 시스템을 해제할 수 없음을 나타냅니다.
- 디바이스가 시스템을 절전 모드 해제할 수 있도록 하려면 SystemWakeEnabled를 0이 아닌 값으로 설정합니다. 사용자가 설정을 재정의할 수 있도록 디바이스 속성 페이지의 확인란이 자동으로 활성화됩니다.
참고 항목
SystemWakeEnabled 설정을 변경해도 선택적 일시 중단에는 영향을 주지 않습니다. 이 레지스트리 값은 시스템 일시 중단과만 관련이 있습니다.
선택적 일시 중단
선택적 일시 중단은 여러 시스템 또는 WinUSB 설정에서 사용하지 않도록 설정할 수 있습니다. 단일 설정은 WinUSB에서 선택적 일시 중단을 사용하도록 강제 설정할 수 없습니다.
WinUsb_SetPowerPolicy PolicyType 매개 변수에 지정된 다음 전원 정책 설정은 선택적 일시 중단의 동작에 영향을 미칩니다.
- AUTO_SUSPEND 0으로 설정하면 디바이스가 선택적 일시 중단 모드로 설정되지 않습니다.
- SUSPEND_DELAY 디바이스가 유휴 상태가 되는 시간과 WinUSB가 선택적 일시 중단으로 전환하도록 디바이스를 요청하는 시점 사이의 시간을 설정합니다.
다음 표에서는 레지스트리 키가 선택적 일시 중단 기능에 미치는 영향을 보여줍니다.
레지스트리 키 | 설명 |
---|---|
DeviceIdleEnabled | DWORD 값입니다. 이 레지스트리 값은 유휴 상태일 때 디바이스의 전원이 끊어질 수 있는지 여부를 나타냅니다(선택적 일시 중단).
HKR,,DeviceIdleEnabled,0x00010001,1 |
DeviceIdleIgnoreWakeEnable | 0이 아닌 값으로 설정하면 RemoteWake를 지원하지 않는 경우에도 디바이스가 일시 중단됩니다. |
UserSetDeviceIdleEnabled | 이 값은 DWORD 값입니다. 이 레지스트리 값은 사용자가 유휴 기본값을 재정의할 수 있도록 하는 디바이스 속성 페이지에서 확인란을 사용하도록 설정해야 하는지 여부를 나타냅니다. UserSetDeviceIdleEnabled를 0이 아닌 값으로 설정하면 확인란이 활성화되고 유휴 상태일 때 디바이스 전원을 사용하지 않도록 설정할 수 있습니다. 값이 0이거나 이 값이 없으므로 확인란을 사용할 수 없음을 나타냅니다.
DeviceIdleEnabled가 설정되지 않은 경우 UserSetDeviceIdleEnabled는 무시됩니다. HKR,,UserSetDeviceIdleEnabled,0x00010001,1 |
DefaultIdleState | DWORD 값입니다. 이 레지스트리 값은 AUTO_SUSPEND 전원 정책 설정의 기본값을 설정합니다. 이 레지스트리 키는 핸들이 디바이스에 열려 있지 않을 때 선택적 일시 중단을 사용하거나 사용하지 않도록 설정하는 데 사용됩니다.
DeviceIdleEnabled가 설정되지 않은 경우 이 값은 무시됩니다. HKR,,DefaultIdleState,0x00010001,1 |
DefaultIdleTimeout | DWORD 값입니다. 이 레지스트리 값은 SUSPEND_DELAY 전원 정책 설정의 기본 상태를 설정합니다. 이 값은 디바이스가 유휴 상태인지 확인하기 전에 대기할 시간(밀리초)을 나타냅니다. HKR,,DefaultIdleTimeout,0x00010001,100 |
유휴 상태 검색
모든 쓰기 및 제어 전송은 디바이스를 D0 전원 상태로 강제 전환하고 유휴 타이머를 다시 설정합니다. IN 엔드포인트 큐는 전원 관리되지 않습니다. 읽기 요청은 제출될 때 디바이스를 해제합니다. 그러나 읽기 요청이 대기하는 동안 디바이스가 유휴 상태가 될 수 있습니다.