INF BitReg 지시문
주의
Windows 11 버전 22H2부터 이 지시문을 사용하는 드라이버 패키지는 더 이상 하드웨어 개발자 센터의 서명을 받을 수 없습니다.
유니버설 드라이버 패키지 및 Windows 드라이버는 이 지시문을 사용할 수 없습니다.
BitReg 지시문은 레지스트리의 기존 REG_BINARY 형식 값 항목 내에서 비트를 설정하거나 지우는 데 사용되는 하나 이상의 INF 작성기 정의 섹션을 참조합니다. 그러나 이 지시문은 디바이스/드라이버 INF 파일에서 거의 사용되지 않습니다.
[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]...
BitReg 지시문은 위의 공식 구문 문에 표시된 섹션 아래에 지정할 수 있습니다. 이 지시문은 다음 INF 작성기 정의 섹션 중에서 지정할 수도 있습니다.
- DDInstall.Services 섹션의 AddService 지시문에서 참조하는 service-install-section 또는 event-log-install 섹션입니다.
- DDInstall에서 AddInterface 지시문에서 참조하는 추가 인터페이스 섹션입니다. 인터페이스 섹션입니다.
- InterfaceInstall32 섹션에서 참조되는 install-interface-section
BitReg 지시문에서 참조하는 명명된 각 섹션에는 다음과 같은 형식이 있습니다.
[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
...
비트 레지스트리 섹션에는 각각 별도의 줄에 여러 항목이 있을 수 있습니다.
엔트리
reg-root
이 항목에 제공된 다른 값에 대한 레지스트리 트리의 루트를 식별합니다. 값은 다음 중 하나입니다.
HKCR
HKEY_CLASSES_ROOT 약어입니다.
HKCU
HKEY_CURRENT_USER 약어입니다.
HKLM
HKEY_LOCAL_MACHINE 약어입니다.
HKU
HKEY_USERS 약어입니다.
HKR
상대 루트 - 즉, 이 약어를 사용하여 지정된 키는 다음 표에 표시된 대로 이 BitReg 지시문이 나타나는 INF 섹션과 연결된 레지스트리 키를 기준으로 합니다.
BitReg 지시문을 포함하는 INF 섹션 | HKR에서 참조하는 레지스트리 키 |
---|---|
INF DDInstall 섹션 | 디바이스의 소프트웨어 키 |
INF DDInstall. HW 섹션 | 디바이스의 하드웨어 키 |
INF DDInstall. 서비스 섹션 | 서비스 키 |
참고 항목
INF DefaultInstall 섹션에서 참조하는 비트 레지스트리 섹션에서는 HKR을 사용할 수 없습니다.
HKEY_LOCAL_MACHINE 루트 아래에 저장된 드라이버 정보에 대한 자세한 내용은 디바이스 및 드라이버에 대한 레지스트리 트리 및 키를 참조 하세요.
하위 키
INF의 문자열 섹션에 정의된 %strkey% 토큰 또는 지정된 reg-root(key1\key2\key3...) 아래의 레지스트리 경로로 표현되는 이 선택적 값은 수정할 값 항목이 포함된 키를 지정합니다.
value-entry-name
수정할 (기존) 하위 키에 있는 기존 REG_BINARY 형식 값 항목의 이름을 지정합니다. "따옴표 붙은 문자열" 또는 INF의 문자열 섹션에 정의된 %strkey% 토큰으로 표현할 수 있습니다.
flags
시스템 정의 낮은 단어와 높은 단어 플래그 값의 ORed 비트 마스크로 표현되는 이 선택적 16진수 값은 지정된 바이트 마스크에 지정된 비트를 지우거나 설정할지 여부를 지정합니다. 기본값은 0이며 레지스트리의 64비트 섹션에서 비트를 지웁니다.
이러한 각 플래그에 대한 비트 마스크 값은 다음과 같습니다.
0x00000000(FLG_BITREG_CLEARBITS)
바이트 마스크로 지정된 비트를 지웁니다.
0x00000001(FLG_BITREG_SETBITS)
바이트 마스크로 지정된 비트를 설정합니다.
0x00004000(FLG_BITREG_32BITKEY)(Windows XP 이상 버전의 Windows).
32비트 레지스트리에서 지정된 변경을 합니다. 지정하지 않으면 네이티브 레지스트리가 변경됩니다.
바이트 마스크
16진수 표기법으로 표현되는 이 바이트 크기 마스크는 지정된 value-entry-name의 현재 값에서 지우거나 설정할 비트를 지정합니다.
byte-to-modify
10진수로 표현된 이 바이트 크기 값은 수정할 REG_BINARY 형식 값 내에 있는 바이트의 인덱스(0부터 시작)를 지정합니다.
설명
각 비트 레지스트리 섹션 이름은 INF 파일에 고유해야 하지만 동일한 INF의 다른 섹션에서 BitReg 지시문에서 참조할 수 있습니다. 각 INF 작성기에서 만든 섹션 이름은 INF 파일 내에서 고유해야 하며 섹션 이름을 정의하기 위한 일반 규칙을 따라야 합니다. 이러한 규칙에 대한 자세한 내용은 INF 파일에 대한 일반 구문 규칙을 참조 하세요.
기존 REG_BINARY 형식 값 항목의 값은 INF 파일의 다른 위치에 있는 추가 레지스트리 섹션 내에서 현재 값을 덮어써서 수정할 수도 있습니다. 추가 레지스트리 섹션에 대한 자세한 내용은 AddReg 지시문에 대한 참조를 참조하세요.
BitReg 지시문을 사용하려면 다른 INF 파일 섹션의 정의가 필요합니다. 그러나 이러한 섹션에서 기존 REG_BINARY 형식 값 항목의 값을 비트 단위로 수정하여 나머지 모든 비트의 값을 유지할 수 있습니다.
예제
다음 예제에서는 가상 애플리케이션에 대한 비트 레지스트리 섹션을 보여 있습니다.
[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