NtPowerInformation 함수(wdm.h)
NtPowerInformation 루틴은 시스템 전원 정보를 설정하거나 검색합니다.
구문
__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
[in] POWER_INFORMATION_LEVEL InformationLevel,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
매개 변수
[in] InformationLevel
설정하거나 검색할 특정 전원 정보를 나타내는 요청된 정보 수준을 지정합니다. 현재 지원되는 유일한 POWER_INFORMATION_LEVEL 값은 PlatformInformation입니다.
값 | Description |
---|---|
PlatformInformation | 정보는 시스템의 현재 지원되는 전원 기능을 나타냅니다. 드라이버가 설치되면 정보가 변경될 수 있습니다. 예를 들어 전원 관리를 지원하지 않는 레거시 디바이스 드라이버를 설치하면 시스템의 기능이 수정될 수 있습니다. |
[in, optional] InputBuffer
호출자가 할당한 입력 버퍼에 대한 포인터입니다. 이 매개 변수는 NULL이어야 합니다. 그렇지 않으면 ERROR_INVALID_PARAMETER 반환됩니다.
[in] InputBufferLength
InputBuffer의 버퍼 크기(바이트)입니다. 매개 변수는 0으로 설정해야 합니다.
[out, optional] OutputBuffer
출력 버퍼에 대한 포인터입니다. 이 버퍼의 데이터 형식은 InformationLevel 매개 변수에서 요청된 정보 수준에 따라 달라집니다. 현재 지원되는 유일한 값 인 PlatformInformation 수준의 경우 OutputBuffer 매개 변수가 필요하며 POWER_PLATFORM_INFORMATION 형식이어야 합니다.
[in] OutputBufferLength
출력 버퍼의 크기(바이트)입니다. 요청된 정보 수준에 따라 버퍼의 크기가 변함없이 조정될 수 있습니다. 현재 지원되는 유일한 값인 PlatformInformation에는 POWER_PLATFORM_INFORMATION 구조체의 크기인 버퍼가 필요합니다.
반환 값
호출이 성공하면 STATUS_SUCCESS 반환합니다. 호출이 실패하면 가능한 오류 코드에는 다음이 포함됩니다.
반환 코드 | 설명 |
---|---|
STATUS_BUFFER_TOO_SMALL | 출력 버퍼의 크기가 부족하여 반환되는 데이터를 포함할 수 없습니다. |
STATUS_INVALID_PARAMETER | 현재 지원되는 유일한 값인 PlatformInformation 정보 수준은 입력 버퍼가 필요하지 않으며 출력 버퍼를 포함해야 합니다. 호출자가 입력 버퍼를 제공했거나 출력 버퍼를 제공하지 않았습니다. |
STATUS_ACCESS_DENIED | 호출자에게 요청된 작업을 수행할 수 있는 액세스 권한이 부족합니다. |
설명
NtPowerInformation 및 ZwPowerInformation 은 동일한 Windows 네이티브 시스템 서비스 루틴의 두 버전입니다.
커널 모드 드라이버에서 호출하는 경우 Windows 네이티브 시스템 서비스 루틴의 NtXxx 및 ZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 NtXxx 버전과 ZwXxx 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용을 참조하세요.
예제
이 예제에서는 유효한 함수 호출을 보여 줍니다.
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 |
지원되는 최소 서버 | Windows Server 2012 |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntpoapi.h 포함) |
라이브러리 | Ntoskrnl.lib |
DLL | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs, PowerIrpDDis |