다음을 통해 공유


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 호출자에게 요청된 작업을 수행할 수 있는 액세스 권한이 부족합니다.

설명

NtPowerInformationZwPowerInformation 은 동일한 Windows 네이티브 시스템 서비스 루틴의 두 버전입니다.

커널 모드 드라이버에서 호출하는 경우 Windows 네이티브 시스템 서비스 루틴의 NtXxxZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 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

추가 정보

POWER_PLATFORM_INFORMATION

네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용