REGCREATEKEY
5/10/2007
This command creates the specified registry key. If the key already exists in the registry, the command is ignored.
Syntax
9, [ErrorMode], hKey, [ExpandMode], Key, Options,
[SamDesired], [SecRev], [ExpandMode], [Inherit],[ExpandMode],[SecAttr],
[ExpandMode], [Class]
Parameters
ErrorMode
Optional. Specified as a decimal representation of a hexadecimal bitmask. Values must be specified in decimal format. The following table shows the possible values.Value Name Description 0 (0xnnnn0000)
DAERH_ABORT
Default. The abort-on-error mode stops the command file from processing further.
32768 (0xnnnn8000)
DAERH_IGNORE
The ignore-on-error mode continues by processing the next command when an error occurs.
32769-33023 (0x000080xx where xx!=00 is the number of retries)
DAERH_RETRY_WITHIGNORE
The retry-on-error with ignore mode retries the offending command up to 255 times. If the number of retries exceeds the retry count, this mode continues processing the next command.
1-255(0x00xx where xx!=0 is the number of retries from 1-255)
DAERH_RETRY_WITHABORT
The retry-on-error with abort mode retries the offending command up to 255 times. If the number of retries exceeds the retry count, the command file processing halts.
65536 – 4294901760(0xFFFFnnnn where FFFF is the delay mask in seconds)
DAERH_DELAYMASK
The delay error mode value is added to either the DAERH_RETRY_WITHIGNORE or the DAERH_RETRY_WITHABORT value to cause a delay between retries. This value is in seconds and has a range between 1 and 65535.
Note
Parsing errors, especially the passing of not valid command parameters, generates an error in DAERH_ABORT error mode. With logging enabled, an appropriate error message is output to the log file.
hKey
Predefined registry handles. The following table shows the possible values.Value Name 2147483648
HKEY_CLASSES_ROOT
2147483649
HKEY_CURRENT_USER
2147483650
HKEY_LOCAL_MACHINE
2147483651
HKEY_USERS
2147483652
HKEY_PERFORMANCE_DATA
2147483653
HKEY_CURRENT_CONFIG
ExpandMode
Optional. Specifies if the string that follows it is an environment variable that should be expanded. Can occur multiple times with this command. The following table shows the possible values.Value Description 0
Does not expand the string.
1
Device Update Agent expands the string on the embedded device.
2
Device Update Agent script compiler expands the string on the developer computer.
- Key
String specifying the name of a key that this function opens or creates. This key must be a subkey of the key identified by the hKey parameter.
- Options
Specifies special options for the key. For more information, see Registry Key Options.
SamDesired
Optional. Access mask that specifies the desired access rights to the key. The following table shows the possible values, which can be combined.Value Name Description 1
KEY_QUERY_VALUE
Permission to query subkey data.
2
KEY_SET_VALUE
Permission to set subkey data.
4
KEY_CREATE_SUB_KEY
Permission to create subkeys.
8
KEY_ENUMERATE_SUB_KEYS
Permission to enumerate subkeys.
16
KEY_NOTIFY
Permission for change notification.
32
KEY_CREATE_LINK
Permission to create a symbolic link.
131078
KEY_WRITE
Combines the STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, and KEY_CREATE_SUB_KEY access rights.
131097
KEY_READ
Combines the STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access rights.
131097
KEY_EXECUTE
Permission for read access (= KEY_READ).
983103
KEY_ALL_ACCESS
Combines the KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, and KEY_SET_VALUE access rights, plus all the standard access rights except SYNCHRONIZE.
- SecRev, Inherit, SecAttr
Optional. For more information, see Security Revision and Security Attributes.
- Class
Optional. String that specifies the class or object type of this key. This parameter is ignored if the key already exists. No classes are currently defined; applications should pass a null string.
Remarks
For more information, see the Microsoft Windows SDK documentation at this Microsoft Web site.
Example
The following example shows typical use.
//
// RegCreateKey
//
REGCREATEKEY,, HKEY_LOCAL_MACHINE ,, SYSTEM\CurrentControlSet\SampleKey , DAREG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS