Directive INF AddPowerSetting
Une directive AddPowerSetting fait référence à une ou plusieurs sections utilisées pour modifier ou créer des informations de paramètre d’alimentation. Chaque section add-power-setting-section définit un paramètre d’alimentation, les valeurs autorisées pour le paramètre d’alimentation, le nom convivial du paramètre d’alimentation et la description du paramètre d’alimentation. Une section add-power-setting-section spécifie également la valeur par défaut pour chaque personnalité de modèle de puissance. Pour plus d’informations sur les paramètres d’alimentation et les personnalités du schéma d’alimentation, consultez Gestion des états de performances des appareils.
[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]
En général, une section add-power-setting-comprend les directives suivantes :
Directive SubGroup .
Une directive Setting
Liste de deux directives Value ou plus ou d’une directive ValueRange .
Ensemble de six directives par défaut .
Une section add-power-setting-prend l’une des deux formes possibles suivantes :
Si les valeurs de paramètres d’alimentation autorisées peuvent être définies comme un ensemble de deux valeurs discrètes ou plus, utilisez une liste de directives Valeur pour spécifier les valeurs autorisées, comme suit :
[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 ...
Si les valeurs de paramètres d’alimentation autorisées peuvent être définies comme une séquence incrémentée de valeurs entières non négatives dans une plage spécifiée, utilisez une directive ValueRange pour spécifier les valeurs autorisées, comme suit :
[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 ...
Entrées
Notes
À l’exception d’une entrée de données de valeur , toutes les entrées suivantes qui fournissent une valeur de chaîne peuvent spécifier la chaîne de l’une des manières décrites dans Spécification d’une valeur d’entrée de chaîne AddPowerSetting.
Sous-groupe
Un sous-groupe regroupe les paramètres d’alimentation qui sont liés logiquement.
Pour spécifier un sous-groupe défini par le système, incluez une directive SubGroup et fournissez uniquement l’entrée guid de sous-groupe . Les sous-groupes définis par le système sont représentés par les constantes GUID_Xxx_SUBGROUP et NO_SUBGROUP_GUID, qui sont définies dans Wdm.h.
Par exemple, GUID_VIDEO_SUBGROUP représente le sous-groupe qui contient les paramètres d’alimentation vidéo pour une personnalité de schéma de puissance. La constante NO_SUBGROUP_GUID représente une collection de paramètres qui n’appartiennent logiquement à aucun sous-groupe. Si aucune directive SubGroup n’est incluse, le paramètre est ajouté par défaut à la collection de paramètres qui n’appartiennent logiquement à aucun sous-groupe.
Pour définir un nouveau sous-groupe, incluez la directive SubGroup et fournissez les entrées obligatoires suivantes : sous-groupe-guid, nom-sous-groupe, sous-groupe-description et icône de sous-groupe. Le GUID du nouveau sous-groupe doit être unique et les autres entrées doivent être aussi descriptives que possible.
sous-groupe-guid
L’entrée requise fournit le GUID qui identifie le sous-groupe. Le format de cette entrée est {XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX}, où « X » est un chiffre hexadécimal.
Par exemple, la valeur de la constante définie par le système GUID_VIDEO_SUBGROUP est {7516B95F-F776-4464-8C53-06167F40CC99}. Ce GUID représente le sous-groupe qui contient les paramètres d’alimentation vidéo d’une personnalité de schéma de puissance.
nom_sous-groupe
Chaîne qui spécifie le nom du sous-groupe du paramètre d’alimentation. Si le sous-groupe est un sous-groupe défini par le système, cette entrée ne doit pas être fournie. Si le sous-groupe est nouveau, cette entrée est obligatoire.
sous-groupe-description
Chaîne qui décrit à l’utilisateur le sous-groupe d’alimentation. Si le sous-groupe est un sous-groupe défini par le système, cette entrée ne doit pas être fournie. Si le sous-groupe est nouveau, cette entrée est obligatoire.
icône sous-groupe
Référence à une ressource d’icône. Si le sous-groupe est un sous-groupe défini par le système, cette entrée ne doit pas être fournie. Si le sous-groupe est nouveau, cette entrée est obligatoire.
Une ressource d’icône doit être spécifiée en tant que valeur de Registre indépendante de la langue. Pour plus d’informations sur la façon de spécifier une valeur de Registre indépendante de la langue, consultez Spécification d’une valeur d’entrée de chaîne AddPowerSetting.
Paramètre
La directive Setting identifie le paramètre auquel s’appliquent toutes les autres entrées de la section. Une directive Setting est requise dans une section add-power-setting et il ne peut y avoir qu’une seule directive Setting dans une section add-power-setting. Si un fichier INF définit plusieurs paramètres, chaque paramètre doit être défini dans sa propre section add-power-setting.
Voici les entrées associées à une directive Setting .
setting-guid
Entrée obligatoire qui spécifie le GUID qui représente le paramètre d’alimentation. Le format de cette entrée est {XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX}, où chaque « X » est un chiffre hexadécimal.
Par exemple, voici une valeur GUID personnalisée : {BFC0D9E9-549C-483D-AD2A-3D90C98A8B03}.
setting-name
Entrée facultative qui spécifie une chaîne qui contient le nom convivial du paramètre d’alimentation.
Options d’alimentation dans Panneau de configuration affiche ce nom convivial à un utilisateur.
setting-description
Entrée facultative qui spécifie une chaîne qui décrit à l’utilisateur le paramètre d’alimentation et l’effet que le paramètre a sur l’alimentation et les performances du système.
setting-icon
Entrée facultative qui est une référence à une ressource d’icône. Une ressource d’icône doit être spécifiée par une valeur de Registre indépendante de la langue.
Pour plus d’informations sur la façon de spécifier une valeur de registre indépendante de la langue, consultez Spécification d’une valeur d’entrée de chaîne AddPowerSetting.
Valeur
Une directive Value définit une valeur autorisée pour un paramètre d’alimentation. La directive Value doit être utilisée si les valeurs peuvent être définies comme un ensemble de deux valeurs ou plus, où chaque valeur peut avoir un type de données personnalisé spécifique à la valeur. Dans ce cas, une section add-power-setting-section doit inclure au moins deux directives Value . Un utilisateur peut sélectionner l’une de ces valeurs dans Options d’alimentation dans Panneau de configuration pour configurer un schéma d’alimentation.
Si les valeurs de paramètre d’alimentation autorisées peuvent être décrites comme un ensemble incrémenté d’entiers non négatifs dans une plage, utilisez la directive ValueRange au lieu de la directive Value pour spécifier les valeurs de réglage d’alimentation autorisées.
value-index
Entrée obligatoire qui spécifie une valeur d’index unique, supérieure ou égale à zéro, et utilisée pour référencer la valeur de paramètre correspondante.
Options d’alimentation dans Panneau de configuration affiche les valeurs de réglage d’alimentation d’un utilisateur dans l’ordre de ses valeurs d’index correspondantes, de la plus faible à la plus élevée.
value-name
Entrée obligatoire qui fournit une chaîne qui fournit le nom convivial de la valeur de paramètre correspondante.
Options d’alimentation dans Panneau de configuration affiche les noms conviviaux des valeurs de paramètre d’alimentation à un utilisateur.
value-description
Entrée facultative qui fournit une chaîne qui décrit à l’utilisateur la valeur du paramètre d’alimentation et l’effet que la valeur de paramètre a sur l’alimentation et les performances du système.
indicateurs de valeur
Entrée obligatoire qui spécifie le type de données de l’entrée value-data correspondante, comme indiqué dans le tableau suivant.
Valeur d’indicateur | Type de données |
---|---|
0x00000001 | REG_BINARY |
0x00010001 | REG_DWORD |
0x00000000 | REG_SZ |
value-data
Entrée obligatoire qui fournit les données pour la valeur de paramètre correspondante, dont le format dépend du type de données spécifié par l’entrée value-flags correspondante, comme suit :
Une valeur REG_BINARY peut être spécifiée au format hexadécimal à l’aide de la notation 0x ou en tant que liste séparée par des virgules de nombres hexadécimaux appariés sans notation 0x.
Par exemple, les entrées suivantes sont équivalentes : 0xFEDCBA9876543210 et la liste suivante séparée par des virgules de chiffres hexadécimaux appairés : FE, DC, BA, 98, 76, 54, 32, 10.
Une valeur REG_DWORD peut être spécifiée au format hexadécimal (à l’aide de la notation 0x) ou au format décimal.
Une valeur REG_SZ peut uniquement être exprimée sous la forme d’une chaîne placée entre guillemets doubles (« quoted-string ») ou sous la forme d’un jeton %strkey% défini dans la section Inf Strings d’un fichier INF.
Notes
Vous ne devez pas utiliser de valeurs de chaîne, car elles ne peuvent pas être localisées. Utilisez plutôt des valeurs de type REG_BINARY ou REG_DWORD.
ValueRange
Utilisez la directive ValueRange si les valeurs de paramètres d’alimentation autorisées peuvent être définies au mieux comme une séquence incrémentée de valeurs entières non négatives dans une plage spécifiée. Le gestionnaire d’alimentation vérifie qu’un paramètre sélectionné par un utilisateur dans Options d’alimentation dans Panneau de configuration est l’une de ces valeurs autorisées. L’ensemble de valeurs autorisées est déterminé par une valeur minimale autorisée, une valeur maximale autorisée et un incrément entre les valeurs autorisées dans la plage. Une valeur est autorisée si elle répond aux critères suivants :
range-minimum-value + k*range-increment
où range-minimum-value est supérieur ou égal à zéro, k et range-incrément sont supérieurs ou égaux à un, et la valeur est inférieure ou égale à range-maximum-value. En outre, range-maximum-value doit être égal à range-minimum-value + k*range-incrément pour certains k.
Par exemple, pour une valeur minimale de plage égale à 0, une valeur maximale de plage égale à 10 et un incrément de plage égal à 2, les valeurs autorisées sont les suivantes : 0, 2, 4, 6, 8 et 10.
Si les valeurs de paramètre d’alimentation autorisées peuvent être décrites comme une liste de valeurs, où chaque valeur peut avoir un type de données personnalisé spécifique à une valeur, utilisez la directive Value au lieu de la directive ValueRange .
range-minimum-value
Valeur de type REG_DWORD qui spécifie le paramètre d’alimentation minimum autorisé.
range-maximum-value
Valeur de type REG_DWORD qui spécifie la valeur de paramètre d’alimentation maximale autorisée. La valeur maximale doit être supérieure ou égale à la valeur minimale et doit être égale à range-minimum-value + k*range-incrément, pour certains entiers k supérieur à zéro.
incrément de plage
Valeur de type REG_DWORD supérieure à zéro. Cette valeur spécifie la différence entre les valeurs consécutives dans la plage inclusive qui est spécifiée par range-minimum-value et range-maximum-value.
range-unit-label
Chaîne facultative qui décrit la valeur du paramètre d’alimentation. La chaîne, ainsi que le paramètre nom, informent l’utilisateur du type de données à entrer.
Par exemple, la chaîne peut être utilisée pour spécifier les unités de valeur, telles que « minutes » ou « % » (représentant le pourcentage).
Par défaut
Il existe six directives par défaut qui doivent être incluses dans une section AddPowerSetting . Une directive Par défaut spécifie la valeur par défaut pour l’une des trois personnalités du schéma d’alimentation défini par le système qui s’appliquent à un état d’alimentation CA et les trois personnalités de schéma d’alimentation définies par le système qui s’appliquent à un état d’alimentation DC.
Il est extrêmement important que les valeurs par défaut soient valides et précises. Si l’utilisateur ne définit pas manuellement de paramètre d’alimentation, le gestionnaire d’alimentation utilise la valeur par défaut spécifiée par la directive Par défaut .
power-scheme-personality-GUID
L’un des GUID suivants, qui identifie le schéma d’alimentation auquel la valeur par défaut s’applique.
Personnalité | GUID |
---|---|
Économiseur d’énergie | {A1841308-3541-4FAB-BC81-F71556F20B4A} |
Hautes performances | {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C} |
Équilibrée | {381B4222-F694-41F0-9685-FF5BB260DF2E} |
Ces GUID sont définis dans Wdm.h.
AC/DC-index
Si AC/DC-index est 0, le paramètre s’applique à un état d’alimentation CA et si AC/DC-index est 1, le paramètre s’applique à un état d’alimentation CC. Une valeur autre que 0 ou 1 n’est pas valide.
default-setting-index
Si la directive Value est utilisée pour spécifier des valeurs autorisées, default-setting-index est la valeur de l’entrée value-index de la directive Value . Si la directive ValueRange est utilisée pour spécifier des valeurs autorisées, cette entrée ne s’applique pas.
default-setting-value
Si la directive ValueRange est utilisée pour spécifier des valeurs autorisées, default-setting-value est l’une des valeurs autorisées spécifiées par la directive ValueRange . Si la directive Value est utilisée pour spécifier des valeurs autorisées, cette entrée ne s’applique pas.
Remarques
Un nom de section add-power-setting-section doit être unique dans un fichier INF, mais il peut être référencé par plusieurs directives AddPowerSetting dans le même fichier INF. Chaque nom de section doit suivre les règles générales décrites dans Règles de syntaxe générales pour les fichiers INF.
Le gestionnaire d’alimentation ne supprime pas automatiquement les stratégies d’alimentation de l’appareil après la désinstallation d’un appareil. L’installation ou la suppression des paramètres d’alimentation, des valeurs et des valeurs par défaut peuvent être effectuées par un co-programme d’installation via les routines de paramètres d’alimentation fournies par le système définies dans Powrprof.h. Pour plus d’informations sur ces routines de gestion de l’alimentation, consultez les informations de référence sur la gestion de l’alimentation fournies avec la documentation Microsoft Windows SDK.
En outre, l’outil en ligne de commande Powercfg.exe peut être utilisé pour modifier les paramètres d’alimentation. Pour plus d’informations sur Powercfg.exe, consultez le Centre d’aide et de support Microsoft.
Pour plus d’informations sur l’utilisation des extensions .nt, .ntx86, .ntia64, .ntamd64, .ntarm et .ntarm64 définies par le système, consultez Création de fichiers INF pour plusieurs plateformes et systèmes d’exploitation.
Spécification d’une valeur d’entrée de chaîne AddPowerSetting
À l’exception des entrées de données de valeur de type REG_SZ, toutes les autres valeurs d’entrée de chaîne fournies avec une directive AddPowerSetting peuvent être exprimées sous la forme d’une chaîne placée entre guillemets doubles (« quoted-string »), en tant que jeton %strkey% défini dans la section de chaîne INF d’un fichier INF, ou en tant que valeur de Registre neutre en langage.
Les valeurs de Registre non linguistiques sont utilisées pour prendre en charge l’interface utilisateur multilingue (MUI) Windows et sont spécifiées comme suit :
"@file-path,-resourceID[;comment]"
Les entrées qui spécifient une valeur de Registre non linguistique sont les suivantes :
chemin d’accès au fichier
Chemin complet du fichier qui contient la ressource.
resourceID
ID de ressource de la ressource correspondante. Dans le cas d’une chaîne, le resourceID fait référence à une chaîne. Dans le cas d’une icône, le resourceID fait référence à une icône.
Commentaire
Valeur facultative qui peut être utilisée pour faciliter le débogage ou pour fournir un commentaire supplémentaire sur le paramètre. Dans le cas d’une ressource de chaîne, power manager ne combine ni n’affiche la chaîne de commentaire avec la chaîne de ressource spécifiée.
Pour plus d’informations sur la façon de spécifier des valeurs de Registre indépendantes du langage, consultez Rendu de l’interpréteur de commandes et chaînes du Registre.
Exemples
Les deux exemples suivants définissent des paramètres d’alimentation qui contrôlent la luminosité d’un écran LCD. Le premier exemple montre comment utiliser la directive Value pour définir une valeur minimale, moyenne et maximale de luminosité 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
Le deuxième exemple montre comment utiliser la directive ValueRange pour définir une plage de valeurs de luminosité LCD autorisées qui varie de 0 % à 100 %, avec un incrément de 1 % entre les valeurs autorisées.
// 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