Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Caution
Począwszy od Windows 11 wersji 22H2, pakiet sterowników korzystający z tej dyrektywy nie kwalifikuje się już do podpisu z Witryny Hardware Developer Center.
Uniwersalne pakiety sterowników i sterowniki Windows nie mogą używać tej dyrektywy.
Dyrektywa BitReg odwołuje się do co najmniej jednej sekcji zdefiniowanej przez moduł zapisywania INF używanej do ustawiania lub czyszczenia bitów w istniejącym wpisie wartości typu REG_BINARY w rejestrze. Jednak ta dyrektywa jest rzadko używana w plikach INF urządzenia/sterownika.
[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]...
Dyrektywę BitReg można określić w dowolnej sekcji pokazanej w powyższej instrukcji składni formalnej. Tę dyrektywę można również określić w dowolnej z następujących sekcji zdefiniowanych przez moduł zapisywania INF:
- Sekcja service-install-section lub event-log-install, do których odwołuje się dyrektywa AddService w sekcji DDInstall.Services.
- Sekcja add-interface-referenced by the AddInterface dyrektywy w DDInstall. Sekcja Interfejsy.
- Sekcja install-interface-reference w sekcji InterfaceInstall32
Każda nazwana sekcja, do którego odwołuje się dyrektywa BitReg , ma następującą postać:
[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
...
Sekcja bitów rejestru może zawierać dowolną liczbę wpisów, z których każda jest w osobnym wierszu.
Wpisy
reg-root
Identyfikuje katalog główny drzewa rejestru dla innych wartości podanych w tym wpisie. Może to być jedna z następujących wartości:
HKCR
Skrót HKEY_CLASSES_ROOT.
HKCU (Międzynarodowa Organizacja Turystyczna
Skrót HKEY_CURRENT_USER.
HKLM powiedział:
Skrót HKEY_LOCAL_MACHINE.
HKU
Skrót dla HKEY_USERS.
HKR
Względny katalog główny − oznacza to, że klucze określone za pomocą tego skrótu są względne względem klucza rejestru skojarzonego z sekcją INF, w której pojawia się ta dyrektywa BitReg , jak wskazano w poniższej tabeli.
| Sekcja INF zawierająca dyrektywę BitReg | Klucz rejestru przywołyny przez HKR |
|---|---|
| Sekcja INF DDInstall | Klucz oprogramowania urządzenia |
| INF DDInstall. Sekcja HW | Klucz sprzętowy urządzenia |
| INF DDInstall. Sekcja usług | Klucz usług |
Uwaga
Nie można użyć klucza HKR w sekcji bitowej rejestru, do której odwołuje się sekcja INF DefaultInstall.
Aby uzyskać więcej informacji o sterownikach przechowywanych w katalogu głównym HKEY_LOCAL_MACHINE , zobacz Drzewa rejestru i klucze dla urządzeń i sterowników.
podklucz
Ta opcjonalna wartość, wyrażona jako %strkey% token zdefiniowany w sekcji Ciągi INF lub jako ścieżka rejestru w danym reg-root (key1\key2\key3...), określa klucz zawierający wpis wartości, który ma zostać zmodyfikowany.
value-entry-name
Określa nazwę istniejącego wpisu wartości typu REG_BINARY w podkluczu (istniejącym), który ma zostać zmodyfikowany. Można go wyrazić jako "ciąg cytowany" lub jako %strkey% token zdefiniowany w sekcji Ciągi INF.
flags
Ta opcjonalna wartość szesnastkowa, wyrażona jako maska bitów ORed zdefiniowanych przez system wartości niskich wyrazów i flag wysokich wyrazów, określa, czy należy wyczyścić lub ustawić bity określone w danej masce bajtowej. Jego wartość domyślna to zero, co powoduje wyczyszczenie bitów w sekcji 64-bitowej rejestru.
Wartości maski bitów dla każdej z tych flag są następujące:
0x00000000 (FLG_BITREG_CLEARBITS)
Wyczyść bity określone przez maskę bajtów.
0x00000001 (FLG_BITREG_SETBITS)
Ustaw bity określone przez maskę bajtów.
0x00004000 (FLG_BITREG_32BITKEY) (Windows XP i nowsze wersje Windows).
Wprowadź określoną zmianę w rejestrze 32-bitowym. Jeśli nie zostanie określony, zmiana zostanie wprowadzona do rejestru natywnego.
byte-maska
Ta maska wielkości bajtu wyrażona w notacji szesnastkowej określa, które bity mają być wyczyszczane lub ustawione w bieżącej wartości danej wartości-entry-name.
byte-to-modify
Ta wartość o rozmiarze bajtu wyrażona w przecinku określa indeks bajtu na podstawie zera w ramach wartości typu REG_BINARY, która ma zostać zmodyfikowana.
Remarks
Każda nazwa sekcji rejestru bitów musi być unikatowa dla pliku INF, ale może być przywołyna przez dyrektywy BitReg w innych sekcjach tego samego inf. Każda nazwa sekcji utworzonej przez moduł zapisywania INF musi być unikatowa w pliku INF i musi być zgodna z ogólnymi regułami definiowania nazw sekcji. Aby uzyskać więcej informacji na temat tych reguł, zobacz Ogólne reguły składni dla plików INF.
Wartość istniejącego wpisu wartości typu REG_BINARY można również zmodyfikować, zastępując jego bieżącą wartość w sekcji add-registry w innym miejscu w pliku INF. Aby uzyskać więcej informacji na temat sekcji add-registry, zobacz dokumentację dyrektywy AddReg .
Użycie dyrektywy BitReg wymaga definicji innej sekcji pliku INF. Jednak wartość istniejącego wpisu wartości typu REG_BINARY może być modyfikowana bitowo po bitzie w takiej sekcji, zachowując w ten sposób wartości wszystkich pozostałych bitów.
Examples
W poniższym przykładzie przedstawiono sekcję rejestru bitowego dla fikcyjnej aplikacji.
[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