Direktif INF BitReg
Perhatian
Mulai Windows 11 versi 22H2, paket driver yang menggunakan arahan ini tidak lagi memenuhi syarat untuk tanda tangan dari Pusat Pengembang Perangkat Keras.
Paket pengandar universal dan Driver Windows tidak dapat menggunakan direktif ini.
Direktif BitReg mereferensikan satu atau beberapa bagian yang ditentukan inf-writer yang digunakan untuk mengatur atau menghapus bit dalam entri nilai jenis REG_BINARY yang ada dalam registri. Namun, arahan ini jarang digunakan dalam file INF perangkat/driver.
[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]...
Arahan BitReg dapat ditentukan di bawah salah satu bagian yang ditunjukkan dalam pernyataan sintaks formal di atas. Arahan ini juga dapat ditentukan di bawah salah satu bagian yang ditentukan inf-writer berikut:
- Bagian service-install-section atau event-log-install yang direferensikan oleh direktif AddService di bagian DDInstall.Services.
- Bagian add-interface yang direferensikan oleh direktif AddInterface dalam DDInstall. Bagian antarmuka.
- Bagian antarmuka penginstalan yang dirujuk di bagian InterfaceInstall32
Setiap bagian bernama yang direferensikan oleh direktif BitReg memiliki formulir berikut:
[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
...
Bagian bit-registri dapat memiliki sejumlah entri, masing-masing pada baris terpisah.
Entri
reg-root
Mengidentifikasi akar pohon registri untuk nilai lain yang disediakan dalam entri ini. Nilainya dapat berupa salah satu dari berikut ini:
HKCR
Singkatan untuk HKEY_CLASSES_ROOT.
HKCU
Singkatan untuk HKEY_CURRENT_USER.
HKLM
Singkatan untuk HKEY_LOCAL_MACHINE.
HKU
Singkatan untuk HKEY_USERS.
HKR
Akar relatif − yaitu, kunci yang ditentukan dengan menggunakan singkatan ini relatif terhadap kunci registri yang terkait dengan bagian INF tempat arahan BitReg ini muncul, seperti yang ditunjukkan dalam tabel berikut.
Bagian INF Berisi Direktif BitReg | Kunci Registri Yang Direferensikan oleh HKR |
---|---|
Bagian INF DDInstall | Kunci perangkat lunak perangkat |
INF DDInstall. Bagian HW | Kunci perangkat keras perangkat |
INF DDInstall. Bagian layanan | Kunci Layanan |
Catatan
HKR tidak dapat digunakan dalam bagian bit-registri yang direferensikan dari bagian INF DefaultInstall.
Untuk informasi selengkapnya tentang informasi driver yang disimpan di bawah akar HKEY_LOCAL_MACHINE , lihat Pohon registri dan Kunci untuk Perangkat dan Driver.
subkunjuk
Nilai opsional ini, dinyatakan sebagai token %strkey% yang ditentukan di bagian String inf atau sebagai jalur registri di bawah reg-root yang diberikan (key1\key2\key3...), menentukan kunci yang berisi entri nilai yang akan dimodifikasi.
value-entry-name
Menentukan nama entri nilai jenis REG_BINARY yang ada dalam subkunjuk (yang sudah ada) untuk dimodifikasi. Ini dapat diekspresikan baik sebagai "string yang dikutip" atau sebagai token %strkey% yang ditentukan di bagian String INF.
flags
Nilai heksadesimal opsional ini, dinyatakan sebagai bitmask ORed dari nilai bendera kata rendah dan kata tinggi yang ditentukan sistem, menentukan apakah akan menghapus atau mengatur bit yang ditentukan dalam byte-mask yang diberikan. Nilai defaultnya adalah nol, yang menghapus bit di bagian 64-bit dari registri.
Nilai bitmask untuk masing-masing bendera ini adalah sebagai berikut:
0x00000000 (FLG_BITREG_CLEARBITS)
Bersihkan bit yang ditentukan oleh byte-mask.
0x00000001 (FLG_BITREG_SETBITS)
Atur bit yang ditentukan oleh byte-mask.
0x00004000 (FLG_BITREG_32BITKEY) (Windows XP dan versi Windows yang lebih baru.)
Buat perubahan yang ditentukan dalam registri 32-bit. Jika tidak ditentukan, perubahan dilakukan pada registri asli.
byte-mask
Masker berukuran byte ini, dinyatakan dalam notasi heksadesimal, menentukan bit mana yang akan dihapus atau diatur dalam nilai saat ini dari value-entry-name yang diberikan.
byte-to-modifikasi
Nilai berukuran byte ini, yang dinyatakan dalam desimal, menentukan indeks berbasis nol byte dalam nilai jenis REG_BINARY yang akan dimodifikasi.
Keterangan
Setiap nama bagian bit-registry harus unik untuk file INF, tetapi dapat dirujuk oleh arahan BitReg di bagian lain dari INF yang sama. Setiap nama bagian yang dibuat inf-writer harus unik dalam file INF dan harus mengikuti aturan umum untuk menentukan nama bagian. Untuk informasi selengkapnya tentang aturan ini, lihat Aturan Sintaks Umum untuk File INF.
Nilai entri nilai jenis REG_BINARY yang ada juga dapat dimodifikasi dengan menimpa nilainya saat ini dalam bagian add-registry di tempat lain dalam file INF. Untuk informasi selengkapnya tentang bagian add-registry, lihat referensi untuk direktif AddReg.
Menggunakan direktif BitReg memerlukan definisi bagian file INF lain. Namun, nilai entri nilai jenis REG_BINARY yang ada dapat dimodifikasi bit-by-bit di bagian seperti itu, sehingga mempertahankan nilai semua bit yang tersisa.
Contoh
Contoh berikut menunjukkan bagian bit-registri untuk aplikasi fiktif.
[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