Condividi tramite


Direttiva INF AddPowerSetting

Una direttiva AddPowerSetting fa riferimento a una o più sezioni usate per modificare o creare informazioni sull'impostazione di alimentazione. Ogni sezione add-power-setting-section definisce un'impostazione di alimentazione, i valori consentiti per l'impostazione di alimentazione, il nome descrittivo dell'impostazione di alimentazione e la descrizione dell'impostazione di alimentazione. Una sezione add-power-setting-section specifica anche il valore predefinito per ogni personalità dello schema di alimentazione. Per altre informazioni sulle impostazioni di alimentazione e sulle personalità dello schema di alimentazione, vedere Gestione degli stati delle prestazioni dei dispositivi.

[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]

In generale, una sezione add-power-setting-section include le direttive seguenti:

  • Direttiva SubGroup .

  • Direttiva Impostazione

  • Elenco di due o più direttive Value o una direttiva ValueRange .

  • Set di sei direttive predefinite .

Una sezione add-power-setting-accetta uno dei due moduli seguenti:

  • Se i valori di impostazioni di alimentazione consentite possono essere definiti meglio come set di due o più valori discreti, usare un elenco di direttive Value per specificare i valori consentiti, come indicato di seguito:

    [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 
    ...
    
  • Se i valori delle impostazioni di alimentazione consentite possono essere definiti meglio come sequenza incrementata di valori interi nonnegative all'interno di un intervallo specificato, usare una direttiva ValueRange per specificare i valori consentiti, come indicato di seguito:

    [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 
    ...
    

Voci

Nota

Ad eccezione di una voce value-data , tutte le voci seguenti che forniscono un valore stringa possono specificare la stringa in uno dei modi descritti in Specifica di un valore di voce stringa AddPowerSetting.

Sottogruppo
Un sottogruppo raggruppa le impostazioni di alimentazione correlate logicamente.

Per specificare un sottogruppo definito dal sistema, includere una direttiva SubGroup e specificare solo la voce sottogroup-guid . I sottogruppi definiti dal sistema sono rappresentati dalle costanti GUID_Xxx_SUBGROUP e NO_SUBGROUP_GUID, definite in Wdm.h.

Ad esempio, GUID_VIDEO_SUBGROUP rappresenta il sottogruppo che contiene le impostazioni di alimentazione video per una personalità dello schema di alimentazione. La costante NO_SUBGROUP_GUID rappresenta una raccolta di impostazioni che non appartengono logicamente a alcun sottogruppo. Se una direttiva SubGroup non è inclusa, l'impostazione viene aggiunta per impostazione predefinita alla raccolta di impostazioni che non appartengono logicamente a alcun sottogruppo.

Per definire un nuovo sottogruppo, includere la direttiva SubGroup e specificare le voci necessarie seguenti: sottogroup-guid, sottogroup-name, sottogroup-description e sottogroup-icon. Il GUID del nuovo sottogruppo deve essere univoco e le altre voci devono essere più descrittive possibile.

sottogroup-guid
La voce necessaria fornisce il GUID che identifica il sottogruppo. Il formato di questa voce è {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}, dove "X" è una cifra esadecimale.

Ad esempio, il valore della costante definita dal sistema GUID_VIDEO_SUBGROUP è {7516B95F-F776-4464-8C53-06167F40CC99}. Questo GUID rappresenta il sottogruppo che contiene le impostazioni di alimentazione video per una personalità dello schema di alimentazione.

sottogroup-name
Stringa che specifica il nome del sottogruppo dell'impostazione di alimentazione. Se il sottogruppo è un sottogruppo definito dal sistema, questa voce non deve essere specificata. Se il sottogruppo è nuovo, questa voce è necessaria.

sottogroup-description
Stringa che descrive all'utente il sottogruppo di power. Se il sottogruppo è un sottogruppo definito dal sistema, questa voce non deve essere specificata. Se il sottogruppo è nuovo, questa voce è necessaria.

icona del sottogruppo
Riferimento a una risorsa icona. Se il sottogruppo è un sottogruppo definito dal sistema, questa voce non deve essere specificata. Se il sottogruppo è nuovo, questa voce è necessaria.

Una risorsa icona deve essere specificata come valore del Registro di sistema indipendente dal linguaggio. Per informazioni su come specificare un valore del Registro di sistema indipendente dal linguaggio, vedere Specifica di un valore di voce stringa AddPowerSetting.

Impostazione
La direttiva Impostazione identifica l'impostazione a cui si applicano tutte le altre voci della sezione. Una direttiva Impostazione è necessaria in una sezione add-power-setting e può essere presente una sola direttiva Impostazione in una sezione add-power-setting. Se un file INF definisce più di un'impostazione, ogni impostazione deve essere definita nella propria sezione add-power-setting.

Di seguito sono riportate le voci associate a una direttiva Setting .

setting-guid
Voce obbligatoria che specifica il GUID che rappresenta l'impostazione di alimentazione. Il formato di questa voce è {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}, dove ogni "X" è una cifra esadecimale.

Ad esempio, il seguente è un valore GUID personalizzato: {BFC0D9E9-549C-483D-AD2A-3D90C98A8B03}.

nome impostazione
Voce facoltativa che specifica una stringa contenente il nome descrittivo dell'impostazione di alimentazione. Opzioni di alimentazione in Pannello di controllo visualizza questo nome descrittivo a un utente.

impostazione-descrizione
Voce facoltativa che specifica una stringa che descrive all'utente l'impostazione di alimentazione e l'effetto che l'impostazione ha sull'alimentazione e sulle prestazioni del sistema.

icona di impostazione
Voce facoltativa che fa riferimento a una risorsa icona. Una risorsa icona deve essere specificata da un valore del Registro di sistema indipendente dal linguaggio.

Per informazioni su come specificare un valore del Registro di sistema di lingua neutrale, vedere Specifica di un valore di voce stringa AddPowerSetting.

Valore
Una direttiva Value definisce un valore consentito per un'impostazione di alimentazione. La direttiva Value deve essere usata se i valori possono essere definiti meglio come set di due o più valori, in cui ogni valore può avere un tipo di dati personalizzato specifico del valore. In questa situazione, una sezione add-power-setting-section deve includere due o più direttive Value . Un utente può selezionare uno di questi valori in Power Options in Pannello di controllo per configurare uno schema di alimentazione.

Se i valori di impostazione di alimentazione consentiti possono essere descritti come set incrementato di interi non negativi all'interno di un intervallo, usare la direttiva ValueRange anziché la direttiva Value per specificare i valori di impostazione di alimentazione consentiti.

value-index
Voce obbligatoria che specifica un valore di indice univoco, maggiore o uguale a zero e utilizzato per fare riferimento al valore di impostazione corrispondente. Opzioni di alimentazione in Pannello di controllo visualizza i valori di impostazione dell'alimentazione a un utente in ordine dei valori di indice corrispondenti, dal più basso al più alto.

value-name
Voce obbligatoria che specifica una stringa che fornisce il nome descrittivo per il valore di impostazione corrispondente. Opzioni di alimentazione in Pannello di controllo visualizza i nomi descrittivi dei valori dell'impostazione di alimentazione a un utente.

value-description
Voce facoltativa che fornisce una stringa che descrive all'utente il valore dell'impostazione di alimentazione e l'effetto che il valore dell'impostazione ha sull'alimentazione e sulle prestazioni del sistema.

flag di valore
Voce obbligatoria che specifica il tipo di dati della voce valore-dati corrispondente, come indicato nella tabella seguente.

Valore del flag Tipo di dati
0x00000001 REG_BINARY
0x00010001 REG_DWORD
0x00000000 REG_SZ

value-data
Voce obbligatoria che fornisce i dati per il valore di impostazione corrispondente, il formato di cui dipende dal tipo di dati specificato dalla voce dei flag di valore corrispondente, come indicato di seguito:

  • Un valore REG_BINARY può essere specificato in formato esadecimale usando la notazione 0x o come elenco delimitato da virgole di numeri esadecimali associati senza la notazione 0x.

    Ad esempio, le voci seguenti sono equivalenti: 0xFEDCBA9876543210 e l'elenco delimitato da virgole di cifre esadecimali associate: FE, DC, BA, 98, 76, 54, 32, 10.

  • Un valore REG_DWORD può essere specificato in formato esadecimale (usando la notazione 0x) o in formato decimale.

  • Un valore REG_SZ può essere espresso solo come stringa racchiusa tra virgolette doppie ("quoted-string") o come token %strkey% definito nella sezione Stringhe INF di un file INF.

Nota

Non è consigliabile usare valori stringa perché non possono essere localizzati. Usare invece valori di tipo REG_BINARY o REG_DWORD.

ValueRange
Usare la direttiva ValueRange se i valori di impostazioni di alimentazione consentiti possono essere definiti meglio come sequenza incrementata di valori integer non negativi all'interno di un intervallo specificato. Power Manager convalida che un'impostazione selezionata da un utente in Power Options in Pannello di controllo è uno di questi valori consentiti. Il set di valori consentiti è determinato da un valore minimo consentito, da un valore massimo consentito e da un incremento tra i valori consentiti all'interno dell'intervallo. Un valore è consentito se soddisfa quanto segue:

range-minimum-value + k*range-increment

dove range-minimum-value è maggiore o uguale a zero, k e range-increment sono maggiori o uguali a uno e il valore è minore o uguale a range-maximum-value. Inoltre, range-maximum-value deve essere uguale a range-minimum-value + *k range-increment for some k.

Ad esempio, per un valore minimo di intervallo uguale a 0, un valore massimo di intervallo uguale a 10 e un incremento di intervallo uguale a 2, i valori consentiti sono i seguenti: 0, 2, 4, 6, 8 e 10.

Se i valori delle impostazioni di risparmio energia consentite possono essere descritti meglio come un elenco di valori, in cui ogni valore può avere un tipo di dati personalizzato specifico del valore, usare la direttiva Value anziché la direttiva ValueRange .

range-minimum-value
Valore di tipo REG_DWORD che specifica l'impostazione minima di alimentazione consentita.

range-maximum-value
Valore di tipo REG_DWORD che specifica il valore massimo consentito per l'impostazione del risparmio di energia. Il valore massimo deve essere maggiore o uguale a minimum-value e deve essere uguale a range-minimum-value + k*range-increment, per un numero intero k maggiore di zero.

incremento intervallo
Valore di tipo REG_DWORD maggiore di zero. Questo valore specifica la differenza tra i valori consecutivi all'interno dell'intervallo inclusivo specificato da range-minimum-value e range-maximum-value.

range-unit-label
Stringa facoltativa che descrive il valore dell'impostazione alimentazione. La stringa, insieme a setting-name, informa l'utente del tipo di dati da immettere.

Ad esempio, la stringa può essere usata per specificare le unità valore, ad esempio "minutes" o "%" (che rappresenta la percentuale).

Default
Esistono sei direttive predefinite che devono essere incluse in una sezione AddPowerSetting . Una direttiva Default specifica il valore predefinito per una delle tre personalità dello schema di alimentazione definito dal sistema che si applicano a uno stato di alimentazione AC e alle tre personalità dello schema di alimentazione definito dal sistema che si applicano a uno stato di alimentazione del controller di dominio.

È estremamente importante che le impostazioni predefinite siano valide e accurate. Se l'utente non imposta manualmente un'impostazione di risparmio energia, il risparmio energia usa il valore predefinito specificato dalla direttiva Default .

power-scheme-personality-GUID
Uno dei GUID seguenti, che identifica lo schema di alimentazione a cui si applica il valore predefinito.

Personalità GUID
Risparmio energia {A1841308-3541-4FAB-BC81-F71556F20B4A}
Prestazioni elevate {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}
Balanced {381B4222-F694-41F0-9685-FF5BB260DF2E}

Questi GUID sono definiti in Wdm.h.

AC/DC-index
Se AC/DC-index è 0, l'impostazione si applica a uno stato di alimentazione AC e se AC/DC-index è 1, l'impostazione si applica a uno stato di alimentazione del controller di dominio. Un valore diverso da 0 o 1 non è valido.

default-setting-index
Se la direttiva Value viene utilizzata per specificare i valori consentiti, default-setting-index è il valore della voce value-index della direttiva Value . Se la direttiva ValueRange viene utilizzata per specificare i valori consentiti, questa voce non si applica.

default-setting-value
Se la direttiva ValueRange viene utilizzata per specificare i valori consentiti, default-setting-value è uno dei valori consentiti specificati dalla direttiva ValueRange . Se la direttiva Value viene utilizzata per specificare i valori consentiti, questa voce non si applica.

Commenti

Un nome di add-power-setting-section deve essere univoco in un file INF, ma può essere fatto riferimento da più di una direttiva AddPowerSetting nello stesso file INF. Ogni nome di sezione deve seguire le regole generali descritte in Regole di sintassi generali per i file INF.

Il risparmio energia non rimuove automaticamente i criteri di risparmio energia del dispositivo dopo la disinstallazione di un dispositivo. L'installazione o la rimozione di impostazioni di alimentazione, valori e impostazioni predefinite possono essere eseguite da un coinstallazione tramite le routine di impostazione alimentazione fornita dal sistema definite in Powrprof.h. Per altre informazioni su queste routine di risparmio energia, vedere le informazioni di riferimento sul risparmio energia fornite con la documentazione di Microsoft Windows SDK.

Inoltre, lo strumento da riga di comandoPowercfg.exepuò essere usato per modificare le impostazioni di risparmio energia. Per informazioni su Powercfg.exe, vedere la Guida e il Supporto tecnico Microsoft.

Per altre informazioni su come usare le estensioni .nt, .ntx86, .ntia64, .ntamd64, ntarm e .ntarm64 definite dal sistema, vedere Creazione di file INF per più piattaforme e sistemi operativi.

Specifica di un valore di immissione della stringa AddPowerSetting

Ad eccezione delle voci value-data di tipo REG_SZ, tutti gli altri valori di voce stringa forniti con una direttiva AddPowerSetting possono essere espressi come stringa racchiusa tra virgolette doppie ("quoted-string"), come token %strkey% definito nella sezione stringa INF di un file INF o come valore del Registro di sistema indipendente dalla lingua.

I valori del Registro di sistema indipendenti dalla lingua vengono usati per supportare Windows Multilingual User Interface (MUI) e vengono specificati come segue:

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

Le voci che specificano un valore del Registro di sistema indipendente dalla lingua sono le seguenti:

file-path
Percorso completo del file che contiene la risorsa.

Resourceid
ID risorsa della risorsa corrispondente. Nel caso di una stringa, resourceID fa riferimento a una stringa. Nel caso di un'icona, resourceID fa riferimento a un'icona.

Commento
Valore facoltativo che può essere utilizzato per facilitare il debug o per fornire un commento aggiuntivo sull'impostazione. Nel caso di una risorsa stringa, il risparmio energia non combina o visualizza la stringa di commento con la stringa di risorsa specificata.

Per altre informazioni su come specificare valori del Registro di sistema indipendenti dalla lingua, vedere Rendering Shell e Stringhe del Registro di sistema.

Esempio

I due esempi seguenti definiscono le impostazioni di alimentazione che controllano la luminosità di un LCD. Il primo esempio mostra come usare la direttiva Value per definire un valore minimo, un valore medio e un valore di luminosità LCD massimo.

// 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

Il secondo esempio mostra come usare la direttiva ValueRange per definire un intervallo di valori di luminosità LCD consentiti che variano da 0% a 100%, con un incremento del 1% tra i valori consentiti.

// 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

Vedi anche

ClassInstall32

DDInstall

DDInstall. CoInstaller

DDInstall. HW

DDInstall. Interfacce

DDInstall. Servizi