PoSetPowerState 함수(wdm.h)
PoSetPowerState 루틴은 디바이스에 대한 디바이스 전원 상태의 변경 사항을 시스템에 알 수 있습니다.
구문
POWER_STATE PoSetPowerState(
[in] PDEVICE_OBJECT DeviceObject,
[in] POWER_STATE_TYPE Type,
[in] POWER_STATE State
);
매개 변수
[in] DeviceObject
대상 DEVICE_OBJECT 대한 포인터입니다.
[in] Type
POWER_STATE_TYPE 값을 나타냅니다. 드라이버는 DevicePowerState를 지정해야 합니다.
[in] State
설정할 전원 상태를 지정합니다. 드라이버는 DEVICE_POWER_STATE 값을 지정해야 합니다.
반환 값
Windows 2000 이상 버전의 운영 체제에서 PoSetPowerState 는 이전 전원 상태를 반환합니다. Windows 98/Me에서 PoSetPowerState 는 State에 전달된 상태를 반환합니다.
설명
PoSetPowerState 는 전원 관리자 에게 디바이스의 새 전원 상태를 알 수 있습니다. 디바이스 스택의 각 드라이버(필터, 함수 및 버스 드라이버)는 PoSetPowerState 를 호출하여 해당 디바이스 개체의 전원 상태 변경을 전원 관리자에게 알려야 합니다. 예를 들면 다음과 같습니다.
- 드라이버는 디바이스 세트 전원 요청을 받은 후 PoStartNextPowerIrp를 호출하기 전에 이 루틴을 호출합니다. PnP IRP_MN_START_DEVICE 요청을 처리할 때 드라이버는 PoSetPowerState 를 호출하여 디바이스가 D0 상태임을 전원 관리자에게 알려야 합니다.
- 디바이스의 전원이 다운된 경우 드라이버는 D0 상태를 떠나기 전에 PoSetPowerState 를 호출해야 합니다. 또한 PoSetPowerState 가 반환되기 전에 드라이버가 클라이언트 요청을 처리할 수 있어야 합니다.
- 디바이스 전원이 켜지는 경우 디바이스가 D0 상태로 전환된 후 드라이버가 PoSetPowerState 를 호출해야 합니다.
PoSetPowerState의 호출자는 상태를 D0으로 설정하는 경우를 제외하고 IRQL <= APC_LEVEL 실행되어야 합니다. 상태를 D0으로 설정할 때 호출자는 IRQL <= DISPATCH_LEVEL 실행할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 설명 섹션을 참조하십시오. |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기