4.1.3.1.2 Part B
This part (Part B) details the sections that are already named in the previous part (Part A). For each section, the section heading is followed by a set of entries describing a registry key or value. Each entry is a comma-separated list of values terminated by a newline. Each such entry is of the following form:
-
RegistryRoot, [subkey], [value-entry-name], [flags], [value]
RegistryRoot
The RegistryRoot is non-null, while subsequent entries are optional. The comma separators are not optional, so the absence of one of these is indicated by two commas ",,". The RegistryRoot is one of the following entries:
|
Short name |
Long name |
|---|---|
|
HKCR |
HKEY_CLASSES_ROOT |
|
HKCU |
HKEY_CURRENT_USER |
|
HKLM |
HKEY_LOCAL_MACHINE |
subkey
Optional. Identifies the subkey to set. Has the following form: key1\key2\key3....
value-entry-name
Optional. This value either names an existing value entry in the given (existing) subkey or creates the name of a new value entry to be added in the specified subkey, whether the value-entry-name already exists or is a new key to be added to the registry. (If this is omitted for a string-type value, the value-entry-name is the default "unnamed" value entry for this key.)
flags
This optional hexadecimal value, expressed as an OR'd bitmask of system-defined low-word and high-word flag values, defines the data type for a value entry and/or controls the add-registry operation. Bitmask values for each of these flags are as follows:
-
0x00000001 (FLG_ADDREG_BINVALUETYPE) The given value is "raw" data. (This value is identical to the FLG_ADDREG_TYPE_BINARY.) 0x00000002 (FLG_ADDREG_NOCLOBBER) Prevent a given value from replacing the value of an existing value entry. 0x00000004 (FLG_ADDREG_DELVAL) Delete the given subkey from the registry, or delete the specified value-entry-name from the specified registry subkey. 0x00000000 (FLG_ADDREG_TYPE_SZ) The given value entry and/or value is of type REG_SZ. Note that this is the default type for a specified value entry, so the flags value can be omitted from any reg-root= line in an add-registry section that operates on a value entry of this type. 0x00010000 (FLG_ADDREG_TYPE_MULTI_SZ) The given value entry and/or value is of the registry type REG_MULTI_SZ. This specification does not require any NULL terminator for a given string value. 0x00020000 (FLG_ADDREG_TYPE_EXPAND_SZ) The given value entry and/or value is of the registry type REG_EXPAND_SZ. 0x00010001 (FLG_ADDREG_TYPE_DWORD) The given value entry and/or value is of the registry type REG_DWORD.
value
Optional. Value to set. Can be a 32-bit number in little-endian format, an ANSI string, or an octet stream. An octet stream can extend beyond the 128-byte line maximum by using a backslash (\) character.