INF BitReg-Direktive

Achtung

Ab Windows 11 Version 22H2 ist ein Treiberpaket, das diese Direktive verwendet, nicht mehr für eine Signatur aus dem Hardware Developer Center berechtigt.

Universelle Treiberpakete und Windows-Treiber können diese Anweisung nicht verwenden.

Eine BitReg-Direktive verweist auf einen oder mehrere INF-Writer-definierte Abschnitte, die zum Festlegen oder Löschen von Bits innerhalb eines vorhandenen REG_BINARY-Type-Werteintrags in der Registrierung verwendet werden. Diese Direktive wird jedoch selten in GERÄTE-/Treiber-INF-Dateien verwendet.

[DDInstall] | 
[DDInstall.HW] | 
[DDInstall.CoInstallers] | 
[ClassInstall32] | 
[ClassInstall32.ntx86] | 
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
 
BitReg=bit-registry-section[,bit-registry-section]...

Eine BitReg-Direktive kann in jedem der Abschnitte angegeben werden, die in der obigen formalen Syntax-Anweisung gezeigt werden. Diese Direktive kann auch in einem der folgenden inF-Writer-definierten Abschnitte angegeben werden:

Jeder benannte Abschnitt, auf den von einer BitReg-Direktive verwiesen wird, hat die folgende Form:

[bit-registry-section]
reg-root, [subkey], value-entry-name, [flags], byte-mask, byte-to-modify
reg-root, [subkey], value-entry-name, [flags], byte-mask, byte-to-modify
...

Ein Bit-Registry-Abschnitt kann eine beliebige Anzahl von Einträgen in einer separaten Zeile enthalten.

Einträge

reg-root
Gibt den Stamm der Registrierungsstruktur für andere Werte an, die in diesem Eintrag angegeben werden. Der Wert kann in folgenden Formen vorliegen:

HKCR
Abkürzung für HKEY_CLASSES_ROOT.

HKCU
Abkürzung für HKEY_CURRENT_USER.

HKLM
Abkürzung für HKEY_LOCAL_MACHINE.

HKU
Abkürzung für HKEY_USERS.

HKR
Relatives Stammverzeichnis – d. h. Schlüssel, die mithilfe dieser Abkürzung angegeben werden, sind relativ zum Registrierungsschlüssel, der dem INF-Abschnitt zugeordnet ist, in dem diese BitReg-Direktive angezeigt wird, wie in der folgenden Tabelle angegeben.

INF-Abschnitt mit BitReg-Direktive Registrierungsschlüssel, auf den von HKR verwiesen wird
Abschnitt INF DDInstall Der Softwareschlüssel des Geräts
INF DDInstall. Abschnitt HW Hardwareschlüssel des Geräts
INF DDInstall. Abschnitt "Dienste " Der Dienstschlüssel

Hinweis

HKR kann nicht in einem Bit-Registry-Abschnitt verwendet werden, auf den aus einem INF DefaultInstall-Abschnitt verwiesen wird.

Weitere Informationen zu Treiberinformationen, die unter dem HKEY_LOCAL_MACHINE-Stamm gespeichert werden, finden Sie unter Registrierungsstrukturen und Schlüssel für Geräte und Treiber.

Unterschlüssel
Dieser optionale Wert, der entweder als %strkey%-Token ausgedrückt wird, das in einem Strings-Abschnitt des INF definiert ist, oder als Registrierungspfad unter dem angegebenen reg-root (key1\key2\key3...)), gibt den Schlüssel an, der den zu ändernden Werteintrag enthält.

Werteintragsname
Gibt den Namen eines vorhandenen REG_BINARY-Typ-Werteintrags im (vorhandenen) Zu ändernden Unterschlüssel an. Sie kann entweder als "Anführungszeichenzeichenfolge" oder als %strkey%-Token ausgedrückt werden, das im Abschnitt Strings des INF definiert ist.

flags
Dieser optionale Hexadezimalwert, der als ORed-Bitmaske von systemdefinierten Werten für niedrige Wörter und hohe Wörter ausgedrückt wird, gibt an, ob die in der angegebenen Bytemaske angegebenen Bits gelöscht oder festgelegt werden sollen. Der Standardwert ist 0, wodurch die Bits im 64-Bit-Abschnitt der Registrierung gelöscht werden.

Bitmaskenwerte für jedes dieser Flags sind wie folgt:

0x00000000 (FLG_BITREG_CLEARBITS)
Löschen Sie die durch Bytemaske angegebenen Bits.

0x00000001 (FLG_BITREG_SETBITS)
Legen Sie die durch Bytemaske angegebenen Bits fest.

0x00004000 (FLG_BITREG_32BITKEY) (Windows XP und höhere Versionen von Windows.)
Nehmen Sie die angegebene Änderung in der 32-Bit-Registrierung vor. Falls nicht angegeben, wird die Änderung an der nativen Registrierung vorgenommen.

Byte-Maske
Diese bytegroße Maske, ausgedrückt in Hexadezimalschreibweise, gibt an, welche Bits im aktuellen Wert des angegebenen Werts-Eintragsname gelöscht oder festgelegt werden sollen.

byte-to-modify
Dieser Bytegrößeswert, ausgedrückt in dezimal, gibt den nullbasierten Index des Byte innerhalb des zu ändernden REG_BINARY-Typwerts an.

Hinweise

Jeder Bitregistrierungsabschnittsname muss für die INF-Datei eindeutig sein, kann jedoch von BitReg-Anweisungen in anderen Abschnitten desselben INF darauf verwiesen werden. Jeder vom INF-Writer erstellte Abschnittsname muss innerhalb der INF-Datei eindeutig sein und den allgemeinen Regeln zum Definieren von Abschnittsnamen entsprechen. Weitere Informationen zu diesen Regeln finden Sie unter Allgemeine Syntaxregeln für INF-Dateien.

Der Wert eines vorhandenen REG_BINARY-Typ-Werteintrags kann auch geändert werden, indem der aktuelle Wert in einem Add-Registry-Abschnitt an anderer Stelle in der INF-Datei überschrieben wird. Weitere Informationen zu Add-Registry-Abschnitten finden Sie in der Referenz für die AddReg-Direktive .

Die Verwendung einer BitReg-Direktive erfordert die Definition eines anderen INF-Dateiabschnitts. Der Wert eines vorhandenen REG_BINARY-Type-Werteintrags kann jedoch bit-by-bit in einem solchen Abschnitt geändert werden, wodurch die Werte aller verbleibenden Bits beibehalten werden.

Beispiele

Das folgende Beispiel zeigt einen Bitregistrierungsabschnitt für eine fiktive Anwendung.

[AppX_BitReg]
; set first bit of byte 0 in ProgramData value entry
HKLM,Software\AppX,ProgramData,1,0x01,0 
; preceding would change value 30,00,10 to 31,00,10

; clear high bit of byte 2 in ProgramData value entry
HKLM,Software\AppX,ProgramData,,0x80,2
; preceding would change value 30,00,f0 to 30,00,70

; set second and third bits of byte 1 in ProgramData value entry
HKLM,Software\AppX,ProgramData,1,0x06,1
; preceding would change value 30,00,f0 to 30,06,f0

Weitere Informationen

AddInterface

AddReg

AddService

ClassInstall32

DDInstall

DDInstall. CoInstallers

DDInstall. HW

InterfaceInstall32