INF AddPowerSetting-Direktive
Eine AddPowerSetting-Direktive verweist auf einen oder mehrere Abschnitte, die zum Ändern oder Erstellen von Energieeinstellungsinformationen verwendet werden. Jeder Add-Power-Setting-Abschnitt definiert eine Energieeinstellung, die zulässigen Werte für die Energieeinstellung, den Anzeigenamen der Energieeinstellung und die Beschreibung der Energieeinstellung. Ein add-power-setting-section gibt auch den Standardwert für jede Persönlichkeit des Energieschemas an. Weitere Informationen zu Energieeinstellungen und Persönlichkeiten des Energieschemas finden Sie unter Verwalten von Geräteleistungszuständen.
[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]
Im Allgemeinen enthält ein Abschnitt add-power-setting-die folgenden Anweisungen:
Eine SubGroup-Direktive .
Eine Einstellungsdirektive
Eine Liste von zwei oder mehr Value-Direktiven oder einer ValueRange-Direktive .
Ein Satz von sechs Standarddirektiven .
Ein add-power-setting-section hat eine der folgenden zwei möglichen Formen:
Wenn die zulässigen Energieeinstellungswerte am besten als Satz von zwei oder mehr diskreten Werten definiert werden können, verwenden Sie eine Liste von Wert-Direktiven, um die zulässigen Werte wie folgt anzugeben:
[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 ...
Wenn die zulässigen Energieeinstellungswerte am besten als inkrementierte Sequenz von nicht negativen ganzzahligen Werten innerhalb eines angegebenen Bereichs definiert werden können, verwenden Sie eine ValueRange-Direktive , um zulässige Werte wie folgt anzugeben:
[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 ...
Einträge
Hinweis
Mit Ausnahme eines Wert-Daten-Eintrags können alle folgenden Einträge, die einen Zeichenfolgenwert bereitstellen, die Zeichenfolge auf eine der Methoden angeben, die unter Angeben eines AddPowerSetting-Zeichenfolgeneintragswerts beschrieben werden.
Untergruppe
Eine Untergruppe gruppiert Energieeinstellungen, die logisch miteinander verknüpft sind.
Um eine systemdefinierte Untergruppe anzugeben, schließen Sie eine SubGroup-Direktive ein, und geben Sie nur den Eintrag für untergruppen-guid an. Die systemdefinierte Untergruppen werden durch die Konstanten GUID_Xxx_SUBGROUP und NO_SUBGROUP_GUID dargestellt, die in Wdm.h definiert sind.
Beispielsweise stellt GUID_VIDEO_SUBGROUP die Untergruppe dar, die die Videoenergieeinstellungen für eine Energieschemapersönlichkeit enthält. Die NO_SUBGROUP_GUID-Konstante stellt eine Auflistung von Einstellungen dar, die logisch keiner Untergruppe angehören. Wenn keine SubGroup-Direktive enthalten ist, wird die Einstellung standardmäßig der Auflistung von Einstellungen hinzugefügt, die nicht logisch zu einer Untergruppe gehören.
Um eine neue Untergruppe zu definieren, schließen Sie die SubGroup-Direktive ein, und geben Sie die folgenden erforderlichen Einträge an: subgroup-guid, subgroup-name, subgroup-description und subgroup-icon. Die GUID der neuen Untergruppe muss eindeutig sein, und die anderen Einträge sollten so beschreibend wie möglich sein.
untergruppen-guid
Der erforderliche Eintrag stellt die GUID bereit, die die Untergruppe identifiziert. Das Format dieses Eintrags ist {XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXXX}, wobei "X" eine Hexadezimalziffer ist.
Der Wert der systemdefinierte Konstanten GUID_VIDEO_SUBGROUP ist beispielsweise {7516B95F-F776-4464-8C53-06167F40CC99}. Diese GUID stellt die Untergruppe dar, die die Videoenergieeinstellungen für eine Energieschemapersönlichkeit enthält.
Untergruppenname
Eine Zeichenfolge, die den Untergruppennamen der Energieeinstellung angibt. Wenn die Untergruppe eine systemdefinierte Untergruppe ist, sollte dieser Eintrag nicht angegeben werden. Wenn die Untergruppe neu ist, ist dieser Eintrag erforderlich.
Untergruppenbeschreibung
Eine Zeichenfolge, die dem Benutzer die Energieuntergruppe beschreibt. Wenn die Untergruppe eine systemdefinierte Untergruppe ist, sollte dieser Eintrag nicht angegeben werden. Wenn die Untergruppe neu ist, ist dieser Eintrag erforderlich.
Untergruppensymbol
Ein Verweis auf eine Symbolressource. Wenn die Untergruppe eine systemdefinierte Untergruppe ist, sollte dieser Eintrag nicht angegeben werden. Wenn die Untergruppe neu ist, ist dieser Eintrag erforderlich.
Eine Symbolressource muss als sprachneutraler Registrierungswert angegeben werden. Informationen zum Angeben eines sprachneutralen Registrierungswerts finden Sie unter Angeben eines AddPowerSetting-Zeichenfolgeneintragswerts.
Einstellung
Die Einstellungsdirektive identifiziert die Einstellung, auf die alle anderen Einträge im Abschnitt angewendet werden. Eine Einstellungsdirektive ist in einem add-power-setting-Abschnitt erforderlich, und es kann nur eine Einstellungsdirektive in einem Abschnitt add-power-setting vorhanden sein. Wenn eine INF-Datei mehrere Einstellungen definiert, muss jede Einstellung in einem eigenen Abschnitt add-power-setting definiert werden.
Im Folgenden sind die Einträge aufgeführt, die einer Setting-Direktive zugeordnet sind.
setting-guid
Ein erforderlicher Eintrag, der die GUID angibt, die die Energieeinstellung darstellt. Das Format dieses Eintrags ist {XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXXX}, wobei jedes "X" eine Hexadezimalziffer ist.
Im Folgenden finden Sie beispielsweise einen benutzerdefinierten GUID-Wert: {BFC0D9E9-549C-483D-AD2A-3D90C98A8B03}.
Einstellungsname
Ein optionaler Eintrag, der eine Zeichenfolge angibt, die den Anzeigenamen der Energieeinstellung enthält.
Energieoptionen in Systemsteuerung zeigt diesen Anzeigenamen für einen Benutzer an.
setting-description
Ein optionaler Eintrag, der eine Zeichenfolge angibt, die dem Benutzer die Energieeinstellung und die Auswirkungen der Einstellung auf die Systemleistung und -leistung beschreibt.
Einstellungssymbol
Ein optionaler Eintrag, der ein Verweis auf eine Symbolressource ist. Eine Symbolressource muss durch einen sprachneutralen Registrierungswert angegeben werden.
Informationen zum Angeben eines sprachneutralen Registrierungswerts finden Sie unter Angeben eines AddPowerSetting-Zeichenfolgeneintragswerts.
Wert
Eine Value-Direktive definiert einen zulässigen Wert für eine Energieeinstellung. Die Value-Direktive sollte verwendet werden, wenn die Werte am besten als Satz von zwei oder mehr Werten definiert werden können, wobei jeder Wert einen wertspezifischen benutzerdefinierten Datentyp aufweisen kann. In diesem Fall sollte ein Add-Power-Setting-Abschnitt zwei oder mehr Value-Anweisungen enthalten. Ein Benutzer kann einen dieser Werte unter Energieoptionen in Systemsteuerung auswählen, um ein Energieschema zu konfigurieren.
Wenn die zulässigen Energieeinstellungswerte am besten als inkrementierte Menge nicht negativer Ganzzahlen innerhalb eines Bereichs beschrieben werden können, verwenden Sie die ValueRange-Direktive anstelle der Value-Direktive , um die zulässigen Energieeinstellungswerte anzugeben.
value-index
Ein erforderlicher Eintrag, der einen eindeutigen Indexwert angibt, der größer oder gleich 0 ist und verwendet wird, um auf den entsprechenden Einstellungswert zu verweisen.
Energieoptionen in Systemsteuerung zeigt einem Benutzer leistungseinstellungswerte in der Reihenfolge seiner entsprechenden Indexwerte vom niedrigsten zum höchsten Anordnen an.
Wertname
Ein erforderlicher Eintrag, der eine Zeichenfolge bereitstellt, die den Anzeigenamen für den entsprechenden Einstellungswert bereitstellt.
Energieoptionen in Systemsteuerung zeigt einem Benutzer die Anzeigenamen der Energieeinstellungswerte an.
Value-description
Ein optionaler Eintrag, der eine Zeichenfolge bereitstellt, die dem Benutzer den Wert der Energieeinstellung und die Auswirkungen des Einstellungswerts auf die Systemleistung und -leistung beschreibt.
Value-Flags
Ein erforderlicher Eintrag, der den Datentyp des entsprechenden Wert-Daten-Eintrags angibt, wie in der folgenden Tabelle angegeben.
Flagwert | Datentyp |
---|---|
0x00000001 | REG_BINARY |
0x00010001 | REG_DWORD |
0x00000000 | REG_SZ |
value-data
Ein erforderlicher Eintrag, der die Daten für den entsprechenden Einstellungswert bereitstellt, dessen Format vom Datentyp abhängt, der durch den entsprechenden Wertflagseintrag angegeben wird, wie folgt:
Ein REG_BINARY Wert kann im Hexadezimalformat mithilfe der 0x-Notation oder als durch Trennzeichen getrennte Liste gekoppelter Hexadezimalzahlen ohne die 0x-Notation angegeben werden.
Die folgenden Einträge sind z. B. gleichwertig: 0xFEDCBA9876543210 und die folgende durch Trennzeichen getrennte Liste gekoppelter Hexadezimalziffern: FE, DC, BA, 98, 76, 54, 32, 10.
Ein REG_DWORD Wert kann entweder im Hexadezimalformat (mit 0x-Notation) oder im Dezimalformat angegeben werden.
Ein REG_SZ Wert kann nur als in doppelte Anführungszeichen eingeschlossene Zeichenfolge ("Anführungszeichen") oder als %strkey%-Token ausgedrückt werden, das im Abschnitt INF-Zeichenfolgen einer INF-Datei definiert ist.
Hinweis
Sie sollten keine Zeichenfolgenwerte verwenden, da sie nicht lokalisiert werden können. Verwenden Sie stattdessen Werte vom Typ REG_BINARY oder REG_DWORD.
ValueRange
Verwenden Sie die ValueRange-Anweisung , wenn die zulässigen Energieeinstellungswerte am besten als inkrementierte Sequenz nicht negativer ganzzahliger Werte innerhalb eines angegebenen Bereichs definiert werden können. Der Power Manager überprüft, ob eine Einstellung, die ein Benutzer unter Energieoptionen in Systemsteuerung auswählt, einer dieser zulässigen Werte ist. Der Satz zulässiger Werte wird durch einen minimal zulässigen Wert, einen maximal zulässigen Wert und ein Inkrement zwischen den zulässigen Werten innerhalb des Bereichs bestimmt. Ein Wert ist zulässig, wenn er Folgendes erfüllt:
range-minimum-value + k*range-increment
Dabei ist bereichsmindestwert größer als oder gleich Null, k und bereichsinkrement sind größer oder gleich 1, und der Wert ist kleiner oder gleich bereichsmaximärer Wert. Darüber hinaus sollte der Bereichsmaximwert für einige k gleich dem Bereichsmindestwert-k-Bereichsinkrement + * sein.
Für einen Bereichs-Minimum-Wert gleich 0, einen Bereichs-Maximum-Wert gleich 10 und ein Bereichsinkrement gleich 2 sind die zulässigen Werte wie folgt: 0, 2, 4, 6, 8 und 10.
Wenn die zulässigen Energieeinstellungswerte am besten als Liste von Werten beschrieben werden können, wobei jeder Wert einen wertspezifischen benutzerdefinierten Datentyp aufweisen kann, verwenden Sie die Value-Direktive anstelle der ValueRange-Direktive.
bereichsmindestwert
Ein Wert vom Typ REG_DWORD , der die minimal zulässige Leistungseinstellung angibt.
Bereichsmaximwert
Ein Wert vom Typ REG_DWORD , der den maximal zulässigen Leistungseinstellungswert angibt. Der maximal zulässige Wert muss größer oder gleich minimum-value sein und sollte für einige ganzzahlige k-Werte gleich sein, die größer als 0 (null) sind.
Bereichsinkrement
Ein Wert vom Typ REG_DWORD , der größer als 0 (null) ist. Dieser Wert gibt die Differenz zwischen aufeinanderfolgenden Werten innerhalb des inklusiven Bereichs an, der durch range-minimum-value und range-maximum-value angegeben wird.
Bereichseinheitsbezeichnung
Eine optionale Zeichenfolge, die den Energieeinstellungswert beschreibt. Die Zeichenfolge informiert den Benutzer zusammen mit dem Einstellungsnamen darüber, welche Art von Daten eingegeben werden soll.
Beispielsweise kann die Zeichenfolge verwendet werden, um die Werteinheiten anzugeben, z. B. "minutes" oder "%" (entspricht Prozent).
Standard
Es gibt sechs Standarddirektiven , die in einem AddPowerSetting-Abschnitt enthalten sein müssen. Eine Standarddirektive gibt den Standardwert für eine der drei systemdefinierte Energieschema-Persönlichkeiten an, die für einen Wechselstromzustand gelten, und die drei systemdefinierte Energieschema-Persönlichkeiten, die für einen Gleichstromzustand gelten.
Es ist äußerst wichtig, dass die Standardwerte gültig und korrekt sind. Wenn der Benutzer keine Energieeinstellung manuell festlegt, verwendet der Energie-Manager den Standardwert, der von der Default-Direktive angegeben wird.
power-scheme-personality-GUID
Eine der folgenden GUIDs, die das Energieschema identifiziert, für das der Standardwert gilt.
Persönlichkeit | GUID |
---|---|
Stromsparmodus | {A1841308-3541-4FAB-BC81-F71556F20B4A} |
Hohe Leistung | {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C} |
Balanced | {381B4222-F694-41F0-9685-FF5BB260DF2E} |
Diese GUIDs sind in Wdm.h definiert.
AC/DC-Index
Wenn AC/DC-Index 0 ist, gilt die Einstellung für einen Wechselstromzustand, und wenn AC/DC-Index 1 ist, gilt die Einstellung für einen Gleichstromzustand. Ein anderer Wert als 0 oder 1 ist ungültig.
default-setting-index
Wenn die Value-Direktive verwendet wird, um zulässige Werte anzugeben, ist default-setting-index der Wert des Value-Index-Eintrags der Value-Direktive. Wenn die ValueRange-Direktive verwendet wird, um zulässige Werte anzugeben, gilt dieser Eintrag nicht.
default-setting-value
Wenn die ValueRange-Direktive verwendet wird, um zulässige Werte anzugeben, ist default-setting-value einer der zulässigen Werte, die von der ValueRange-Direktive angegeben werden. Wenn die Value-Direktive verwendet wird, um zulässige Werte anzugeben, gilt dieser Eintrag nicht.
Hinweise
Ein Add-power-setting-section-Name muss in einer INF-Datei eindeutig sein, aber es kann von mehreren AddPowerSetting-Direktiven in derselben INF-Datei darauf verwiesen werden. Jeder Abschnittsname muss den allgemeinen Regeln entsprechen, die unter Allgemeine Syntaxregeln für INF-Dateien beschrieben sind.
Der Energie-Manager entfernt die Energierichtlinien für Geräte nicht automatisch, nachdem ein Gerät deinstalliert wurde. Die Installation oder Entfernung von Energieeinstellungen, -werten und -standardwerten kann von einem Co-Installer über die vom System bereitgestellten Energieeinstellungsroutinen durchgeführt werden, die in Powrprof.h definiert sind. Weitere Informationen zu diesen Energieverwaltungsroutinen finden Sie in der Energieverwaltungsreferenz, die in der Microsoft Windows SDK-Dokumentation enthalten ist.
Darüber hinaus kann das BefehlszeilentoolPowercfg.exe verwendet werden, um Energieeinstellungen zu ändern. Informationen zu Powercfg.exefinden Sie im Microsoft-Hilfe- und Supportcenter.
Weitere Informationen zur Verwendung der systemdefinierten Erweiterungen .nt, .ntx86, .ntia64, .ntamd64, .ntarm und .ntarm64 finden Sie unter Erstellen von INF-Dateien für mehrere Plattformen und Betriebssysteme.
Angeben eines AddPowerSetting-Zeichenfolgeneintragswerts
Mit Ausnahme von Wertdateneinträgen vom Typ REG_SZ können alle anderen Zeichenfolgeneintragswerte, die mit einer AddPowerSetting-Direktive bereitgestellt werden, als in doppelte Anführungszeichen eingeschlossene Zeichenfolge ("anführungszeichen"), als %strkey%-Token ausgedrückt werden, das im INF-Zeichenfolgenabschnitt einer INF-Datei definiert ist, oder als sprachneutraler Registrierungswert.
Sprachneutrale Registrierungswerte werden zur Unterstützung von Windows Multilingual User Interface (MUI) verwendet und wie folgt angegeben:
"@file-path,-resourceID[;comment]"
Die Einträge, die einen sprachneutralen Registrierungswert angeben, sind wie folgt:
file-path
Der vollqualifizierte Pfad der Datei, die die Ressource enthält.
Resourceid
Die Ressourcen-ID der entsprechenden Ressource. Im Fall einer Zeichenfolge verweist die resourceID auf eine Zeichenfolge. Im Fall eines Symbols verweist die resourceID auf ein Symbol.
Comment
Ein optionaler Wert, der verwendet werden kann, um das Debuggen zu unterstützen oder einen zusätzlichen Kommentar zur Einstellung bereitzustellen. Im Fall einer Zeichenfolgenressource kombiniert oder zeigt der Power Manager die Kommentarzeichenfolge nicht mit der angegebenen Ressourcenzeichenfolge an.
Weitere Informationen zum Angeben sprachneutraler Registrierungswerte finden Sie unter Rendern von Shell und Registrierungszeichenfolgen.
Beispiele
In den folgenden beiden Beispielen werden Energieeinstellungen definiert, die die Helligkeit eines LCD steuern. Das erste Beispiel zeigt, wie die Value-Anweisung verwendet wird, um einen minimalen, einen mittleren und einen maximalen LCD-Helligkeitswert zu definieren.
// 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
Im zweiten Beispiel wird gezeigt, wie die ValueRange-Direktive verwendet wird, um einen Bereich zulässiger LCD-Helligkeitswerte zu definieren, der von 0 % bis 100 % variiert, wobei ein Inkrement von 1 % zwischen den zulässigen Werten liegt.
// 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