SHRegEnumUSValueW 函数 (shlwapi.h)

枚举用户特定的子树 (HKEY_CURRENT_USER 或HKEY_LOCAL_MACHINE) 中指定的注册表子项的值。

语法

LSTATUS SHRegEnumUSValueW(
  [in]                HUSKEY          hUSkey,
  [in]                DWORD           dwIndex,
  [out]               LPWSTR          pszValueName,
  [in, out]           LPDWORD         pcchValueName,
  [out, optional]     LPDWORD         pdwType,
  [out, optional]     void            *pvData,
  [in, out, optional] LPDWORD         pcbData,
  [in]                SHREGENUM_FLAGS enumRegFlags
);

参数

[in] hUSkey

类型: HUSKEY

当前打开的注册表子项的句柄。 子项必须已使用KEY_SET_VALUE访问权限打开。 有关详细信息,请参阅 注册表项安全和访问权限

可以通过 SHRegOpenUSKey 函数获取此句柄。

[in] dwIndex

类型:DWORD

要检索的值的索引。 对于第一次调用,此参数应为零,对于后续调用,此参数应递增。

[out] pszValueName

类型: LPTSTR

指向接收枚举值名称的字符缓冲区的指针。 此缓冲区的大小在 pcchValueNameLen 中指定。

[in, out] pcchValueName

类型: LPDWORD

指向 DWORD 的指针,该 DWORD 在输入时包含 pszValueName 上的缓冲区大小(以字符为单位)。 退出时,它包含复制到 pszValueName 的字符数。

[out, optional] pdwType

类型: LPDWORD

指向接收值数据类型的 DWORD 的指针。 这些值与 RegEnumValuelpType 参数下所述的值相同。

[out, optional] pvData

类型: void*

指向接收值条目数据的缓冲区的指针。 此缓冲区的大小在 板数据中指定。 如果不需要数据,此参数可以为 NULL

[in, out, optional] pcbData

类型: LPDWORD

指向 DWORD 的指针,该 DWORD 在输入时包含 pvData 上的缓冲区大小。 退出时,它包含复制到 pvData 的字节数。

[in] enumRegFlags

类型: SHREGENUM_FLAGS

SHREGENUM_FLAGS之一,指定枚举应在其中进行的基本键。

返回值

类型: LSTATUS

如果成功,则返回 ERROR_SUCCESS ,否则返回 Winerror.h 中定义的非零错误代码。 可以使用带有 FORMAT_MESSAGE_FROM_SYSTEM 标志的 FormatMessage 函数来检索错误的文本说明。

注解

注意

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

要求

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