SHRegGetValueFromHKCUHKLM 函数 (shlwapi.h)

[不再支持此函数。]

从注册表获取指定信息。 此函数将为指定子项中请求的信息检查 HKEY_CURRENT_USER。 如果HKEY_CURRENT_USER子树下不存在信息,函数会检查HKEY_LOCAL_MACHINE子树中是否有相同的信息。

语法

LSTATUS SHRegGetValueFromHKCUHKLM(
  [in]      PCWSTR pwszKey,
  [in]      PCWSTR pwszValue,
  [in]      SRRF   srrfFlags,
  [out]     DWORD  *pdwType,
  [in]      void   *pvData,
  [in, out] DWORD  *pcbData
);

参数

[in] pwszKey

类型: PCWSTR

指向以 null 结尾的 Unicode 字符串的指针,该字符串指定注册表项的路径。

[in] pwszValue

类型: PCWSTR

指向以 null 结尾的 Unicode 字符串的指针,该字符串指定键值。 此值可以为 NULL,在这种情况下,将从默认值检索数据。

[in] srrfFlags

类型: SRRF

SRRF 标志常量。 如果使用多个标志,则可以使用按位 OR 将它们组合在一起。 这些标志用于限制返回的数据类型。 此值不能为 0。

[out] pdwType

类型: DWORD*

当此函数返回时,包含指向 DWORD 的指针,该 DWORD 接收指示存储在指定值中的数据类型的代码。 如果不需要任何类型信息,则可以将其设置为 NULL 。 如果此值不为 NULL,并且尚未设置SRRF_NOEXPAND标志,则REG_EXPAND_SZ的数据类型将作为REG_SZ返回,因为它们会在此方法中自动展开。

[in] pvData

类型: LPCVOID

指向包含值数据的缓冲区的指针。 如果不需要数据,此参数可以为 NULL 。 此值必须包含输入时 pvData 缓冲区的大小。 如果 pvData (为 NULL ,或者 pvData 不为 NULL,但缓冲区太小,无法) 保存注册表数据,则在退出时,它将包含保存注册表数据所需的大小。

[in, out] pcbData

类型: DWORD*

当此函数返回时,包含指向数据大小的指针(以字节为单位)。

返回值

类型: LONG

如果成功,此函数将返回ERROR_SUCCESS和请求的所有输出参数。 如果函数由于提供的非 NULL pvData 中的空间不足而失败,则返回ERROR_MORE_DATA。 在这种情况下,只有 pdwTypepvcData 可能包含有效数据, pvData 将不确定。 否则, 将返回 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与 FORMAT_MESSAGE_FROM_SYSTEM 标志一起使用,以检索错误的一般说明。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shlwapi.h
DLL Shlwapi.dll