PoSetPowerState 함수(ntifs.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 값을 지정해야 합니다.
반환 값
PoSetPowerState 이전 전원 상태를 반환합니다.
발언
PoSetPowerState전원 관리자 디바이스에 대한 새 전원 상태를 알 수 있습니다. 디바이스 스택의 각 드라이버(필터, 함수 및 버스 드라이버)는 PoSetPowerState 호출하여 해당 디바이스 개체의 전원 상태 변경을 전원 관리자에게 알려야 합니다. 예를 들어:
드라이버는 디바이스 집합 전원 요청을 받은 후 PoStartNextPowerIrp호출하기 전에 이 루틴을 호출합니다. PnP IRP_MN_START_DEVICE 요청을 처리할 때 드라이버는 PoSetPowerState 호출하여 디바이스가 D0 상태임을 전원 관리자에게 알려야 합니다.
디바이스가 전원을 푼 경우 드라이버는 D0 상태를 벗어나기 전에 PoSetPowerState 호출해야 합니다. 또한 PoSetPowerState 반환하기 전에 드라이버가 클라이언트 요청을 처리할 수 있어야 합니다.
디바이스 전원이 켜지는 경우 디바이스가 D0 상태로 전환된 후 드라이버는 PoSetPowerState 호출해야 합니다.
디바이스를 위아래로 전원을 켜는 방법에 대한 자세한 내용은 디바이스 전원 상태 대한처리 IRP_MN_SET_POWER 참조하세요.
상태를 D0으로 설정하는 경우를 제외하고 PoSetPowerState 호출자는 IRQL <= APC_LEVEL 실행되어야 합니다. 상태를 D0으로 설정할 때 호출자는 IRQL <= DISPATCH_LEVEL 실행할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 |
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 설명 섹션을 참조하세요. |