다음을 통해 공유


CallNtPowerInformation 함수(powerbase.h)

전원 정보를 설정하거나 검색합니다.

구문

NTSTATUS CallNtPowerInformation(
  [in]  POWER_INFORMATION_LEVEL InformationLevel,
  [in]  PVOID                   InputBuffer,
  [in]  ULONG                   InputBufferLength,
  [out] PVOID                   OutputBuffer,
  [in]  ULONG                   OutputBufferLength
);

매개 변수

[in] InformationLevel

요청된 정보 수준입니다. 이 값은 설정하거나 검색할 특정 전원 정보를 나타냅니다. 이 매개 변수는 다음 POWER_INFORMATION_LEVEL 열거형 형식 값 중 하나여야 합니다.

의미
AdministratorPowerPolicy
9
이 정보 수준은 지원되지 않습니다.
LastSleepTime
15
lpInBuffer 매개 변수는 NULL이어야 합니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.

lpOutputBuffer 버퍼는 마지막 시스템 절전 모드 시간에 인터럽트 시간 수를 100나노초 단위로 지정하는 ULONGLONG을 받습니다.

LastWakeTime
14
lpInBuffer 매개 변수는 NULL이어야 합니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.

lpOutputBuffer 버퍼는 마지막 시스템 절전 모드 해제 시간에 인터럽트 시간 수를 100나노초 단위로 지정하는 ULONGLONG을 수신합니다.

ProcessorInformation
11
lpInBuffer 매개 변수는 NULL이어야 합니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.

lpOutputBuffer 버퍼는 시스템에 설치된 각 프로세서에 대해 하나의 PROCESSOR_POWER_INFORMATION 구조를 받습니다. GetSystemInfo 함수를 사용하여 프로세서 수를 검색합니다.

ProcessorPowerPolicyAc
18
이 정보 수준은 지원되지 않습니다.
ProcessorPowerPolicyCurrent
22
이 정보 수준은 지원되지 않습니다.
ProcessorPowerPolicyDc
19
이 정보 수준은 지원되지 않습니다.
SystemBatteryState
5
lpInBuffer 매개 변수는 NULL이어야 합니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.

lpOutputBuffer 버퍼는 현재 시스템 배터리에 대한 정보를 포함하는 SYSTEM_BATTERY_STATE 구조를 받습니다.

SystemExecutionState
16
lpInBuffer 매개 변수는 NULL이어야 합니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.

lpOutputBuffer 버퍼는 시스템 실행 상태 버퍼를 포함하는 ULONG 값을 받습니다. 이 값에는 ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED또는ES_USER_PRESENT 값의 조합이 포함될 수 있습니다. 자세한 내용은 SetThreadExecutionState 함수를 참조하세요.

SystemPowerCapabilities
4
lpInBuffer 매개 변수는 NULL이어야 합니다. 그렇지 않으면 함수가 ERROR_INVALID_PARAMETER 반환합니다.

lpOutputBuffer 버퍼는 현재 시스템 전원 기능을 포함하는 SYSTEM_POWER_CAPABILITIES 구조를 받습니다.

이 정보는 현재 지원되는 전원 기능을 나타냅니다. 드라이버가 시스템에 설치되면 변경될 수 있습니다. 예를 들어 전원 관리를 지원하지 않는 레거시 디바이스 드라이버를 설치하면 모든 시스템 절전 모드 상태가 비활성화됩니다.

SystemPowerInformation
12
lpInBuffer 매개 변수는 NULL이어야 합니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.

lpOutputBuffer 버퍼SYSTEM_POWER_INFORMATION 구조를 받습니다.

애플리케이션은 이 수준을 사용하여 시스템의 유휴 상태에 대한 정보를 검색할 수 있습니다.

SystemPowerPolicyAc
0
lpInBufferNULL이 아닌 경우 함수는 시스템이 AC(유틸리티) 전원에서 실행되는 동안 사용되는 현재 시스템 전원 정책에 lpInBuffer에 전달된 SYSTEM_POWER_POLICY 값을 적용합니다.

lpOutputBuffer 버퍼는 시스템이 AC(유틸리티) 전원에서 실행되는 동안 사용되는 현재 시스템 전원 정책을 포함하는 SYSTEM_POWER_POLICY 구조를 받습니다.

SystemPowerPolicyCurrent
8
lpInBuffer 매개 변수는 NULL이어야 합니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.

lpOutputBuffer 버퍼는 시스템이 AC(유틸리티) 전원에서 실행되는 동안 사용되는 현재 시스템 전원 정책을 포함하는 SYSTEM_POWER_POLICY 구조를 받습니다.

SystemPowerPolicyDc
1
lpInBufferNULL이 아닌 경우 함수는 lpInBuffer에 전달된 SYSTEM_POWER_POLICY 값을 시스템이 배터리 전원으로 실행되는 동안 사용되는 현재 시스템 전원 정책에 적용합니다.

lpOutputBuffer 버퍼는 시스템이 배터리 전원으로 실행되는 동안 사용되는 현재 시스템 전원 정책을 포함하는 SYSTEM_POWER_POLICY 구조를 받습니다.

SystemReserveHiberFile
10
lpInBufferNULL이 아니고 현재 사용자에게 충분한 권한이 있는 경우 함수는 부팅 볼륨에 최대 절전 모드 이미지를 저장하는 데 필요한 스토리지를 커밋하거나 커밋 해제합니다.

lpInBuffer 매개 변수는 원하는 요청을 나타내는 BOOLEAN 값을 가리킵니다. 값이 TRUE이면 최대 절전 모드 파일이 예약됩니다. 값이 FALSE이면 최대 절전 모드 파일이 제거됩니다.

VerifyProcessorPowerPolicyAc
20
이 정보 수준은 지원되지 않습니다.
VerifyProcessorPowerPolicyDc
21
이 정보 수준은 지원되지 않습니다.
VerifySystemPolicyAc
2
이 정보 수준은 지원되지 않습니다.
VerifySystemPolicyDc
3
이 정보 수준은 지원되지 않습니다.

[in] InputBuffer

선택적 입력 버퍼에 대한 포인터입니다. 이 버퍼의 데이터 형식은 InformationLevel 매개 변수에서 요청된 정보 수준에 따라 달라집니다.

[in] InputBufferLength

입력 버퍼의 크기(바이트)입니다.

[out] OutputBuffer

선택적 출력 버퍼에 대한 포인터입니다. 이 버퍼의 데이터 형식은 InformationLevel 매개 변수에서 요청된 정보 수준에 따라 달라집니다. 버퍼가 너무 작아서 정보를 포함하지 않으면 함수는 STATUS_BUFFER_TOO_SMALL 반환합니다.

[in] OutputBufferLength

출력 버퍼의 크기(바이트)입니다. 요청된 정보 수준에 따라 고정 크기 버퍼일 수 있습니다.

반환 값

함수가 성공하면 반환 값이 STATUS_SUCCESS.

함수가 실패하면 반환 값은 다음 상태 코드 중 하나일 수 있습니다.

상태 의미
STATUS_BUFFER_TOO_SMALL
출력 버퍼의 크기가 부족하여 반환할 데이터를 포함할 수 없습니다.
STATUS_ACCESS_DENIED
호출자에게 요청된 작업을 수행할 수 있는 액세스 권한이 부족합니다.

설명

CallNtPowerInformation을 사용하여 현재 시스템 전원 정책을 변경한 내용은 즉시 적용되지만 영구적이지는 않습니다. 즉, 변경 내용은 전원 구성표의 일부로 저장되지 않습니다. CallNtPowerInformation을 사용하여 수행한 시스템 전원 정책의 변경 내용은 전원 옵션 제어판 프로그램의 사용자가 수행한 정책 구성표 변경 또는 WritePwrScheme, SetActivePwrScheme 또는 기타 전원 구성표 함수에 대한 후속 호출에 의해 덮어쓸 수 있습니다.

PowrProf.h 사용에 대한 자세한 내용은 전원 구성표를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 powerbase.h
라이브러리 PowrProf.lib
DLL PowrProf.dll

추가 정보

ADMINISTRATOR_POWER_POLICY

PROCESSOR_POWER_INFORMATION

PROCESSOR_POWER_POLICY

전원 관리 함수

SYSTEM_BATTERY_STATE 구조체

SYSTEM_POWER_CAPABILITIES

SYSTEM_POWER_INFORMATION

SYSTEM_POWER_POLICY