ORCreateKey 函数
在脱机注册表配置单元中创建指定的注册表项。 如果该项已存在,函数将打开它。
语法
DWORD ORCreateKey(
_In_ ORHKEY Handle,
_In_ PCWSTR lpSubKey,
_In_opt_ PWSTR lpClass,
_In_opt_ DWORD dwOptions,
_In_opt_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
_Out_ PORHKEY phkResult,
_Out_opt_ PDWORD pdwDisposition
);
parameters
-
句柄 [in]
-
脱机注册表配置单元中打开的注册表项的句柄。
-
lpSubKey [in]
-
指向 Unicode 字符串的指针,该字符串包含此函数打开或创建的子项的名称。 lpSubKey 参数必须指定由 Handle 参数标识的键的子项;它在注册表树中最多可以有 32 个级别。 有关键名称的详细信息,请参阅 注册表的结构。
此参数不能为 NULL。
键名称不区分大小写。
-
lpClass [in, 可选]
-
类 (此键的对象类型) 。 此参数可以忽略。 此参数可以为 NULL。
-
dwOptions [in, optional]
-
此参数可以是 0 或以下值之一。
值 含义 - REG_OPTION_CREATE_LINK
- 0x00000002L
键是符号链接。 目标路径分配给键的 L“SymbolicLinkValue”值。 目标路径必须是绝对注册表路径。 如果设置了此选项,还必须设置 REG_OPTION_NON_VOLATILE 。
如果 lpSubKey 参数指定现有密钥,则必须使用 REG_OPTION_CREATE_LINK 创建它。
仅当应用程序兼容性绝对必要时才应使用注册表符号链接。- REG_OPTION_NON_VOLATILE
- 0x00000000L
键不是易失的;这是默认值。 信息存储在文件中,并在系统重启时保留。 ORSaveHive 函数保存不可变的键。 -
pSecurityDescriptor [in, optional]
-
指向包含新密钥的安全描述符 的SECURITY_DESCRIPTOR 结构的指针。 如果 pSecurityDescriptor 为 NULL,则密钥将获取默认的安全描述符。 密钥的默认安全描述符中的 ACL 继承自其直接父密钥。
-
phkResult [out]
-
一个变量的指针,此变量指向已打开或已创建的项的句柄。 使用完句柄后,使用 ORCloseKey 函数关闭密钥。
-
pdwDisposition [out, optional]
-
指向接收以下处置值之一的变量的指针。
值 含义 - REG_CREATED_NEW_KEY
- 0x00000001L
密钥不存在且已创建。 - REG_OPENED_EXISTING_KEY
- 0x00000002L
密钥存在,只是打开而不更改。 如果 pdwDisposition 为 NULL,则不返回处置信息。
返回值
如果函数成功,则返回值为 ERROR_SUCCESS。
如果函数失败,则返回值为 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与 FORMAT_MESSAGE_FROM_SYSTEM 标志一起使用,以获取错误的泛型说明。
如果使用 REG_OPTION_CREATE_LINK 设置 dwOptions 参数,但REG_OPTION_NON_VOLATILE是明确的,或者要返回的句柄是配置单元根键的句柄,则函数将返回ERROR_INVALID_PARAMETER。
备注
ORCreateKey 函数创建的键没有值。 应用程序可以使用 ORSetValue 函数来设置键值。
ORCreateKey 函数不能用于在脱机注册表配置单元中创建根密钥。 使用 ORCreateHive 函数创建根密钥并获取密钥的句柄。
脱机注册表不支持保存单个密钥。 使用 ORSaveHive 函数将密钥及其子项保存在配置单元中。
要求
要求 | 值 |
---|---|
可再发行组件 |
Windows 脱机注册表库版本 1.0 或更高版本 |
标头 |
|
DLL |
|
请参阅