다음을 통해 공유


INF AddPowerSetting 지시문

AddPowerSetting 지시문은 전원 설정 정보를 수정하거나 만드는 데 사용되는 하나 이상의 섹션을 참조합니다. 각 추가 전원 설정 섹션 은 전원 설정, 전원 설정에 허용되는 값, 전원 설정의 이름 및 전원 설정에 대한 설명을 정의합니다. add-power-setting-section은 각 전원 구성표 성격에 대한 기본값도 지정합니다. 전원 설정 및 전원 구성표 성격에 대한 자세한 내용은 디바이스 성능 상태 관리를 참조하세요.

[DDInstall] | 
[DDInstall.HW] | 
[DDInstall.CoInstallers] | 
[ClassInstall32] | 
[ClassInstall32.ntx86] | 
[ClassInstall32.ntia64] |  (Windows Vista)
[ClassInstall32.ntamd64] | (Windows Vista)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)

AddPowerSetting=add-power-setting-section[,add-power-setting-section]

일반적으로 add-power-setting-section 에는 다음 지시문이 포함됩니다.

  • SubGroup 지시문입니다.

  • 설정 지시문

  • 둘 이상의 Value 지시문 또는 하나의 ValueRange 지시문 목록입니다.

  • 6개의 기본 지시문 집합입니다.

add-power-setting-section은 다음과 같은 두 가지 양식 중 하나를 사용합니다.

  • 허용되는 전원 설정 값을 두 개 이상의 불연속 값 집합으로 가장 잘 정의할 수 있는 경우 다음과 같이 Value 지시문 목록을 사용하여 허용되는 값을 지정합니다.

    [add-power-setting-section]
    
    [SubGroup = {subgroup-guid}] | SubGroup = {subgroup-guid}, subgroup-name, subgroup-description, subgroup-icon
    Setting = {setting-guid}, [setting-name],[setting-description],[setting-icon]
    Value = value-index, value-name,[value-description], value-flags, value-data 
    Value = value-index, value-name,[value-description], value-flags, value-data
    [Value = value-index, value-name,[value-description], value-flags, value-data
    ...
    Value = value-index, value-name,[value-description], value-flags, value-data]
    
    (Six required Default directives, each one of which has the following form)
    Default = power-scheme-personality-GUID, AC/DC-index, default-setting-index | default-setting-value 
    ...
    
  • 허용되는 전원 설정 값을 지정된 범위 내에서 증분된 정수 값 시퀀스로 가장 잘 정의할 수 있는 경우 다음과 같이 하나의 ValueRange 지시문을 사용하여 허용되는 값을 지정합니다.

    [add-power-setting-section]
    
    [SubGroup = {subgroup-guid}] | 
    SubGroup = {subgroup-guid}, subgroup-name, subgroup-description, subgroup-icon
    Setting = {setting-guid}, [setting-name],[setting-description],[setting-icon]
    ValueRange = range-minimum-value, range-maximum-value, range-increment, [range-unit-label] 
    
    (Six required Default directives, each one of which has the following form)
    Default = power-scheme-personality-GUID, AC/DC-index, default-setting-index | default-setting-value 
    ...
    

항목

참고

값 데이터 항목을 제외하고 문자열 값을 제공하는 다음 항목은 모두 AddPowerSetting 문자열 항목 값 지정에 설명된 방법 중 하나로 문자열을 지정할 수 있습니다.

하위
하위 그룹은 논리적으로 관련된 전원 설정을 그룹화합니다.

시스템 정의 하위 그룹을 지정하려면 SubGroup 지시문을 포함하고 하위 그룹 GUID 항목만 입력합니다. 시스템 정의 하위 그룹은 Wdm.h에 정의된 상수 GUID_Xxx_SUBGROUP 및 NO_SUBGROUP_GUID 표시됩니다.

예를 들어 GUID_VIDEO_SUBGROUP 전원 구성표 성격에 대한 비디오 전원 설정을 포함하는 하위 그룹을 나타냅니다. NO_SUBGROUP_GUID 상수는 하위 그룹에 논리적으로 속하지 않는 설정 컬렉션을 나타냅니다. SubGroup 지시문이 포함되지 않은 경우 설정은 기본적으로 하위 그룹에 논리적으로 속하지 않는 설정 컬렉션에 추가됩니다.

새 하위 그룹을 정의하려면 SubGroup 지시문을 포함하고 subgroup-guid, subgroup-name, subgroup-descriptionsubgroup-icon같은 필수 항목을 제공합니다. 새 하위 그룹의 GUID는 고유해야 하며 다른 항목은 가능한 한 설명이 있어야 합니다.

subgroup-guid
필수 항목은 하위 그룹을 식별하는 GUID를 제공합니다. 이 항목의 형식은 {XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXXX}입니다. 여기서 "X"는 16진수입니다.

예를 들어 시스템 정의 상수 GUID_VIDEO_SUBGROUP 값은 {7516B95F-F776-4464-8C53-06167F40CC99}입니다. 이 GUID는 전원 구성표 성격에 대한 비디오 전원 설정을 포함하는 하위 그룹을 나타냅니다.

subgroup-name
전원 설정의 하위 그룹 이름을 지정하는 문자열입니다. 하위 그룹이 시스템 정의 하위 그룹인 경우 이 항목을 제공하지 않아야 합니다. 하위 그룹이 새로운 경우 이 항목이 필요합니다.

하위 그룹 설명
사용자에게 전원 하위 그룹을 설명하는 문자열입니다. 하위 그룹이 시스템 정의 하위 그룹인 경우 이 항목을 제공하지 않아야 합니다. 하위 그룹이 새로운 경우 이 항목이 필요합니다.

하위 그룹 아이콘
아이콘 리소스에 대한 참조입니다. 하위 그룹이 시스템 정의 하위 그룹인 경우 이 항목을 제공하지 않아야 합니다. 하위 그룹이 새로운 경우 이 항목이 필요합니다.

아이콘 리소스는 언어 중립적 레지스트리 값으로 지정해야 합니다. 언어 중립적 레지스트리 값을 지정하는 방법에 대한 자세한 내용은 AddPowerSetting 문자열 항목 값 지정을 참조하세요.

설정
설정 지시문은 섹션의 다른 모든 항목이 적용되는 설정을 식별합니다. 추가 전원 설정 섹션에는 하나의 설정 지시문이 필요하며 추가 전원 설정 섹션에는 하나의 설정 지시문만 있을 수 있습니다. INF 파일이 둘 이상의 설정을 정의하는 경우 각 설정은 자체 추가 전원 설정 섹션에서 정의해야 합니다.

다음은 설정 지시문과 연결된 항목입니다.

setting-guid
전원 설정을 나타내는 GUID를 지정하는 필수 항목입니다. 이 항목의 형식은 {XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXXX}입니다. 여기서 각 "X"는 16진수입니다.

예를 들어 사용자 지정 GUID 값은 {BFC0D9E9-549C-483D-AD2A-3D90C98A8B03}입니다.

setting-name
전원 설정의 이름을 포함하는 문자열을 지정하는 선택적 항목입니다. 제어판 전원 옵션은 사용자에게 이 친숙한 이름을 표시합니다.

setting-description
사용자에게 전원 설정 및 설정이 시스템 전원 및 성능에 미치는 영향을 설명하는 문자열을 지정하는 선택적 항목입니다.

setting-icon
아이콘 리소스에 대한 참조인 선택적 항목입니다. 아이콘 리소스는 언어 중립적 레지스트리 값으로 지정해야 합니다.

language-neutral-registry 값을 지정하는 방법에 대한 자세한 내용은 AddPowerSetting 문자열 항목 값 지정을 참조하세요.


Value 지시문은 전원 설정에 허용되는 값을 정의합니다. 값이 두 개 이상의 값 집합으로 가장 잘 정의될 수 있는 경우 지시문을 사용해야 합니다. 여기서 각 값은 값별 사용자 지정 데이터 형식을 가질 수 있습니다. 이 경우 add-power-setting-section에는 두 개 이상의 Value 지시문이 포함되어야 합니다. 사용자는 제어판 전원 옵션에서 이러한 값 중 하나를 선택하여 전원 구성표를 구성할 수 있습니다.

허용되는 전원 설정 값을 범위 내에서 음수가 아닌 정수의 증분 집합으로 가장 잘 설명할 수 있는 경우 Value 지시문 대신 ValueRange 지시문을 사용하여 허용되는 전원 설정 값을 지정합니다.

value-index
0보다 크거나 같은 고유 인덱스 값을 지정하고 해당 설정 값을 참조하는 데 사용되는 필수 항목입니다. 제어판 전원 옵션은 해당 인덱스 값의 순서대로 최하위에서 가장 높은 값으로 사용자에게 전원 설정 값을 표시합니다.

value-name
해당 설정 값에 대한 식별 이름을 제공하는 문자열을 제공하는 필수 항목입니다. 제어판 전원 옵션은 사용자에게 전원 설정 값의 친숙한 이름을 표시합니다.

value-description
사용자에게 전원 설정 값과 설정 값이 시스템 전원 및 성능에 미치는 영향을 설명하는 문자열을 제공하는 선택적 항목입니다.

value-flags
다음 표에 표시된 대로 해당 값 데이터 항목의 데이터 형식을 지정하는 필수 항목입니다.

플래그 값 데이터 형식
0x00000001 REG_BINARY
0x00010001 REG_DWORD
0x00000000 REG_SZ

value-data
해당 설정 값에 대한 데이터를 제공하는 필수 항목으로, 형식은 다음과 같이 해당 값 플래그 항목으로 지정된 데이터 형식에 따라 달라집니다.

  • REG_BINARY 값은 0x 표기법을 사용하거나 0x 표기법 없이 쌍을 이루는 16진수의 쉼표로 구분된 목록으로 16진수 형식으로 지정할 수 있습니다.

    예를 들어 0xFEDCBA9876543210 쉼표로 구분된 쌍을 이루는 16진수 목록(FE, DC, BA, 98, 76, 54, 32, 10)과 동일합니다.

  • REG_DWORD 값은 16진수 형식(0x 표기법 사용) 또는 10진수 형식으로 지정할 수 있습니다.

  • REG_SZ 값은 큰따옴표("quoted-string")로 묶인 문자열 또는 INF 파일의 INF 문자열 섹션에 정의된 %strkey% 토큰으로만 표현할 수 있습니다.

참고

문자열 값은 지역화할 수 없으므로 사용하면 안 됩니다. 대신 REG_BINARY 또는REG_DWORD 형식의 값을 사용합니다.

ValueRange
허용되는 전원 설정 값을 지정된 범위 내에서 음수가 아닌 정수 값의 증분 시퀀스로 가장 잘 정의할 수 있는 경우 ValueRange 지시문을 사용합니다. 전원 관리자는 사용자가 제어판 전원 옵션에서 선택하는 설정이 허용되는 값 중 하나인지 확인합니다. 허용되는 값 집합은 허용되는 최소 값, 허용되는 최대 값 및 범위 내에서 허용되는 값 간의 증가에 따라 결정됩니다. 다음을 충족하는 경우 값이 허용됩니다.

range-minimum-value + k*range-increment

여기서 range-minimum-value가 0보다 크거나 같고, krange-increment가 1보다 크거나 같으며, 값이 range-maximum-value보다 작거나 같습니다. 또한 range-maximum-value 는 일부 k에 대해 range-minimum-value + k*range-increment 와 같아야 합니다.

예를 들어 0과 같은 range-minimum-value , range-maximum-value 가 10이고 range-increment 가 2인 경우 허용되는 값은 0, 2, 4, 6, 8 및 10과 같습니다.

허용되는 전원 설정 값을 값 목록으로 가장 잘 설명할 수 있는 경우 각 값에 값별 사용자 지정 데이터 형식이 있을 수 있는 경우 ValueRange 지시문 대신 Value 지시문을 사용합니다.

range-minimum-value
허용되는 최소 전원 설정을 지정하는 REG_DWORD 형식의 값입니다.

range-maximum-value
허용되는 최대 전원 설정 값을 지정하는 형식 REG_DWORD 값입니다. 최댓값은 최소값보다 크거나 같아야 하며 0보다 큰 일부 정수 k의 경우 range-minimum-value + k*range-increment와 같아야 합니다.

range-increment
0보다 큰 형식 REG_DWORD 값입니다. 이 값은 range-minimum-value 및 range-maximum-value 로 지정된 포괄 범위 내의 연속 값 간의 차이를 지정 합니다.

range-unit-label
전원 설정 값을 설명하는 선택적 문자열입니다. 문자열은 setting-name과 함께 입력할 데이터 형식을 사용자에게 알릴 수 있습니다.

예를 들어 문자열을 사용하여 값 단위(예: "분" 또는 "%"(백분율 표시))를 지정할 수 있습니다.

기본값
AddPowerSetting 섹션에 포함되어야 하는 6개의 기본 지시문이 있습니다. Default 지시문은 AC 전원 상태에 적용되는 세 가지 시스템 정의 전원 구성표 성격과 DC 전원 상태에 적용되는 세 가지 시스템 정의 전원 구성표 성격 중 하나에 대한 기본값을 지정합니다.

기본값이 유효하고 정확해야 합니다. 사용자가 전원 설정을 수동으로 설정하지 않으면 Power Manager는 Default 지시문에 지정된 기본값을 사용합니다.

power-scheme-personality-GUID
기본값이 적용되는 전원 구성표를 식별하는 다음 GUID 중 하나입니다.

개성 GUID
절전 모드 {A1841308-3541-4FAB-BC81-F71556F20B4A}
고성능 {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}
Balanced {381B4222-F694-41F0-9685-FF5BB260DF2E}

이러한 GUID는 Wdm.h에 정의되어 있습니다.

AC/DC 인덱스
AC/DC-index가 0이면 AC 전원 상태에 설정이 적용되고 AC/DC-index가 1이면 DC 전원 상태에 설정이 적용됩니다. 0 또는 1 이외의 값이 잘못되었습니다.

default-setting-index
Value 지시문을 사용하여 허용되는 값을 지정하는 경우 default-setting-indexValue 지시문의 value-index 항목 값입니다. ValueRange 지시문을 사용하여 허용되는 값을 지정하는 경우 이 항목은 적용되지 않습니다.

default-setting-value
ValueRange 지시문을 사용하여 허용된 값을 지정하는 경우 default-setting-valueValueRange 지시문에 지정된 허용되는 값 중 하나입니다. Value 지시문을 사용하여 허용되는 값을 지정하는 경우 이 항목은 적용되지 않습니다.

설명

add-power-setting-section 이름은 INF 파일에서 고유해야 하지만 동일한 INF 파일에서 둘 이상의 AddPowerSetting 지시문에서 참조할 수 있습니다. 각 섹션 이름은 INF 파일에 대한 일반 구문 규칙에 설명된 일반 규칙을 따라야 합니다.

전원 관리자는 디바이스를 제거한 후 디바이스 전원 정책을 자동으로 제거하지 않습니다. Powrprof.h에 정의된 시스템 제공 전원 설정 루틴을 통해 공동 설치 관리자가 전원 설정, 값 및 기본값을 설치하거나 제거할 수 있습니다. 이러한 전원 관리 루틴에 대한 자세한 내용은 Microsoft Windows SDK 설명서와 함께 제공되는 전원 관리 참조를 참조하세요.

또한 Powercfg.exe 명령줄 도구를 사용하여 전원 설정을 변경할 수 있습니다. Powercfg.exe대한 자세한 내용은 Microsoft 도움말 및 지원 센터를 참조하세요.

시스템 정의 .nt, .ntx86, .ntia64, .ntamd64, .ntarm 및 .ntarm64 확장을 사용하는 방법에 대한 자세한 내용은 여러 플랫폼 및 운영 체제용 INF 파일 만들기를 참조하세요.

AddPowerSetting 문자열 항목 값 지정

REG_SZ 형식의 값 데이터 항목을 제외하고 AddPowerSetting 지시문과 함께 제공되는 다른 모든 문자열 항목 값은 큰따옴표("quoted-string")로 묶인 문자열로, INF 파일의 INF 문자열 섹션에 정의된 %strkey% 토큰으로 표현되거나 언어 중립적 레지스트리 값으로 표현될 수 있습니다.

언어 중립적 레지스트리 값은 Windows MUI(다국어 사용자 인터페이스)를 지원하는 데 사용되며 다음과 같이 지정됩니다.

"@file-path,-resourceID[;comment]"

언어 중립적 레지스트리 값을 지정하는 항목은 다음과 같습니다.

file-path
리소스를 포함하는 파일의 정규화된 경로입니다.

Resourceid
해당 리소스의 리소스 ID입니다. 문자열의 경우 resourceID 는 문자열을 참조합니다. 아이콘의 경우 resourceID 는 아이콘을 참조합니다.

설명
디버깅을 지원하거나 설정에 대한 추가 설명을 제공하는 데 사용할 수 있는 선택적 값입니다. 문자열 리소스의 경우 전원 관리자는 주석 문자열을 지정된 리소스 문자열과 결합하거나 표시하지 않습니다.

언어 중립적 레지스트리 값을 지정하는 방법에 대한 자세한 내용은 렌더링 셸 및 레지스트리 문자열을 참조하세요.

예제

다음 두 예제에서는 LCD의 밝기를 제어하는 전원 설정을 정의합니다. 첫 번째 예제에서는 Value 지시문을 사용하여 최소, 중간 및 최대 LCD 밝기 값을 정의하는 방법을 보여줍니다.

// Within a DDinstall or ClassInstall23 section
AddPowerSetting=LCDDim
...

[LCDDim]
SubGroup = {7516B95F-F776-4464-8C53-06167F40CC99}
Setting = {381B4222-F694-41F0-9685-FF5BB260DF2E}, "LCD Brightness", "Controls the brightness of the LCD display"

Value = 0, "Low", "Minimum Brightness", %FLG_ADDREG_TYPE_DWORD%, 0x50
Value = 1, "Medium", "Medium Brightness", %FLG_ADDREG_TYPE_DWORD%, 0x75
Value = 2, "High", "Maximum Brightness", %FLG_ADDREG_TYPE_DWORD%, 0x100

Default = %GUID_MAX_POWER_SAVINGS%, %AC%, 0
Default = %GUID_MAX_POWER_SAVINGS%, %DC%, 0
Default = %GUID_TYPICAL_POWER_SAVINGS%, %AC%, 2
Default = %GUID_TYPICAL_POWER_SAVINGS%, %DC%, 1
Default = %GUID_MIN_POWER_SAVINGS%, %AC%, 2
Default = %GUID_MIN_POWER_SAVINGS%, %DC%, 2
...

[Strings]
GUID_MAX_POWER_SAVINGS = {a1841308-3541-4fab-bc81-f71556f20b4a}
GUID_TYPICAL_POWER_SAVINGS = {381b4222-f694-41f0-9685-ff5bb260df2e}
GUID_MIN_POWER_SAVINGS = {8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c}
AC = 0
DC = 1
FLG_ADDREG_TYPE_DWORD = 0x00010001

두 번째 예제에서는 ValueRange 지시문을 사용하여 허용되는 값 간에 1% 증가하여 0%에서 100%로 달라지는 허용되는 LCD 밝기 값 범위를 정의하는 방법을 보여 줍니다.

// Within a DDinstall or a ClassInstall23 section
AddPowerSetting=LCDDimRange
...

[LCDDimRange]
SubGroup = {7516B95F-F776-4464-8C53-06167F40CC99}
Setting = {381B4222-F694-41F0-9685-FF5BB260DF2E}, "LCD Brightness", "Controls the brightness of the LCD display"
ValueRange = 0, 100, 1, "%"
Default = %GUID_MAX_POWER_SAVINGS%, %AC%, 50
Default = %GUID_MAX_POWER_SAVINGS%, %DC%, 50
Default = %GUID_TYPICAL_POWER_SAVINGS%, %AC%, 95
Default = %GUID_TYPICAL_POWER_SAVINGS%, %DC%, 50
Default = %GUID_MIN_POWER_SAVINGS%, %AC%, 100
Default = %GUID_MIN_POWER_SAVINGS%, %DC%, 100

[Strings]
GUID_MAX_POWER_SAVINGS = {a1841308-3541-4fab-bc81-f71556f20b4a}
GUID_TYPICAL_POWER_SAVINGS = {381b4222-f694-41f0-9685-ff5bb260df2e}
GUID_MIN_POWER_SAVINGS = {8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c}
AC = 0
DC = 1

추가 정보

ClassInstall32

DDInstall

DDInstall. CoInstallers

DDInstall. Hw

DDInstall. 인터페이스

DDInstall. 서비스