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.