RegCreateKeyEx
该函数用来创建注册表键,如果该键已经存在,则打开它(注册表键不区分大小写)
LONG RegCreateKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD Reserved,
LPTSTR lpClass,
DWORD dwOptions,
REGSAM samDesired,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult,
LPDWORD lpdwDisposition
);
参数:
hKey
入参,一个打开键的句柄。调用该函数的进程必须拥有KEY_CREATE_SUB_KEY的权力。该句柄可以是RegCreateKeyEx或者RegOpenKeyEx的返回值,也可以是以下预定义的值
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpSubKey
入参,标识子键名称。该参数不能为空。参数中不能存在(/)
Reserved
保留值,必须为0
lpClass
入参,指向一个字符串,该字符串定义了该键的类型。可以为空。该参数可以在操作本地和远程注册表时使用
dwOptions
入参,该参数可以是以下值
REG_OPTION_BACKUP_RESTORE,0x00000004L
REG_OPTION_NON_VOLATILE,0x00000000L ,一般使用该值
REG_OPTION_VOLATILE,0x00000001L
samDesired
入参,定义访问权限
lpSecurityAttributes
入参,定义返回的句柄是否可以被子进程继承,为NULL时不能继承。
phkResult
出参,保存返回的句柄
lpdwDisposition
出参,可以是以下值。如果为空,则不返回。
REG_CREATED_NEW_KEY,0x00000001L 该键是新创建的键
REG_OPENED_EXISTING_KEY,0x00000002L 该键是已经存在的键
Return Values
成功则返回 ERROR_SUCCESS.
Remarks
该函数创建的键没有键值。应用程序不能创建HKEY_USERS 或者 HKEY_LOCAL_MACHINE的直接子键。