SHRegCreateUSKeyA 函数 (shlwapi.h)

在用户特定的子树中创建或打开注册表子项(HKEY_CURRENT_USER或HKEY_LOCAL_MACHINE)。

语法

LSTATUS SHRegCreateUSKeyA(
  [in]           LPCSTR  pszPath,
  [in]           REGSAM  samDesired,
  [in, optional] HUSKEY  hRelativeUSKey,
  [out]          PHUSKEY phNewUSKey,
  [in]           DWORD   dwFlags
);

参数

[in] pszPath

类型:LPCTSTR

指向包含要创建或打开的子项的以 null 结尾的字符串的指针。 如果子项中已存在具有此名称的值,则会打开该值。

[in] samDesired

类型:REGSAM

所需的安全访问。 有关安全访问的详细信息,请参阅 REGSAM

[in, optional] hRelativeUSKey

类型:HUSKEY

要用作相对路径基的键。 如果 pszPath 是相对路径,则它指定的键将相对于 hRelativeUSKey。 如果 pszPath 是绝对路径,请将 hRelativeUSKey 设置为 NULL。 然后,将在 HKEY_LOCAL_MACHINEHKEY_CURRENT_USER下创建密钥,具体取决于 dwFlags的值。

[out] phNewUSKey

类型:PHUSKEY

指向 HUSKEY 的指针,它将接收新密钥的句柄。

[in] dwFlags

类型:DWORD

应打开密钥的基键。 这可以是以下一个或多个值。

SHREGSET_HKCU

创建/打开 HKEY_CURRENT_USER下的密钥。 仅当键为空时,才会创建一个键。

SHREGSET_FORCE_HKCU

创建/打开 HKEY_CURRENT_USER下的密钥。 即使密钥不为空,也会创建一个密钥。

SHREGSET_HKLM

创建/打开 HKEY_LOCAL_MACHINE下的密钥。 仅当键为空时,才会创建一个键。

SHREGSET_FORCE_HKLM

创建/打开 HKEY_LOCAL_MACHINE下的密钥。 即使密钥不为空,也会创建一个密钥。

SHREGSET_DEFAULT

HKEY_CURRENT_USER(强制)和 HKEY_LOCAL_MACHINE(仅当为空)下创建/打开密钥。 此标志等效于 (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)。

返回值

类型:LSTATUS

如果成功,则返回ERROR_SUCCESS;否则返回在 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与FORMAT_MESSAGE_FROM_SYSTEM标志一起使用来检索错误的泛型说明。

言论

如果要将值写入新键,请使用 SHRegWriteUSValue 写入每个值,传递通过 phNewUSKey返回的 HUSKEY 句柄。 完成后,使用 SHRegCloseUSKey关闭特定于用户的注册表项。

注意

shlwapi.h 标头将 SHRegCreateUSKey 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional、Windows XP [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 shlwapi.h
Shlwapi.lib
DLL Shlwapi.dll(版本 4.71 或更高版本)