ClusterRegEnumValue 函数 (clusapi.h)

枚举打开的 群集数据库 密钥的值。

语法

DWORD ClusterRegEnumValue(
  [in]                HKEY    hKey,
  [in]                DWORD   dwIndex,
  [out]               LPWSTR  lpszValueName,
  [in, out]           LPDWORD lpcchValueName,
  [out, optional]     LPDWORD lpdwType,
  [out, optional]     LPBYTE  lpData,
  [in, out, optional] LPDWORD lpcbData
);

参数

[in] hKey

要枚举的群集数据库密钥的句柄。

[in] dwIndex

用于标识要枚举的下一个值的索引。 首次调用 ClusterRegEnumValue 时,此参数应为零,然后针对后续调用递增。

由于值不是有序的,因此任何新值都具有任意索引。 这意味着 ClusterRegEnumValue 可以按任何顺序返回值。

[out] lpszValueName

指向包含返回值名称的以 null 结尾的 Unicode 字符串的指针。

[in, out] lpcchValueName

指向以字符计数表示的 lpszValueName 缓冲区大小的指针。 输入时,指定缓冲区可以容纳的最大字符数,包括终止 NULL。 在输出时,指定结果名称中的字符数,不包括终止 NULL

[out, optional] lpdwType

指向值条目的类型代码的指针;如果不需要类型代码,则为 NULL 。 类型代码可以是以下值之一。

REG_BINARY (3)

任意格式的二进制数据。

REG_DWORD (4)

32 位数字。

REG_DWORD_BIG_ENDIAN (5)

以 big-endian 格式存储的 32 位数字。

REG_EXPAND_SZ (2)

一个以 null 结尾的 Unicode 字符串,包含对环境变量 (例如“%PATH%”) 的未扩展引用。

REG_MULTI_SZ (6)

以 null 结尾的字符串序列,由空字符串 (\0) 终止。

以下是一个示例:

String1\0String2\0String3\0LastString\0\0

第一个 \0 终止第一个字符串,第二个 \0 终止最后一个字符串,最后一个 \0 终止序列。 请注意,必须将最终终止符纳入字符串的长度。

REG_NONE (0)

没有定义的值类型。

REG_QWORD (11)

64 位数字。

REG_SZ (1)

以 Null 值结束的 Unicode 字符串。

[out, optional] lpData

指向值条目的数据的指针。 如果不需要数据,此参数可以为 NULL

[in, out, optional] lpcbData

输入时,指针指向 lpbData 参数指向的缓冲区中的字节计数。 输出时,指针指向操作产生的字节计数。 仅当 lpbDataNULL 时,此参数才能为 NULL

返回值

函数返回以下值之一。

返回代码/值 说明
ERROR_SUCCESS
0 (0x0)
操作成功。
ERROR_NO_MORE_ITEMS
259 (0x103)
不再返回更多值。
ERROR_MORE_DATA
234 (0xEA)
(lpszValueNamelpbData) 的输出缓冲区之一太小,无法保存生成的数据。 lpcchValueNamelpbData 参数指示所需的大小 (请注意,lpcchValueName 在字符计数) 不包含终止 NULL
系统错误代码
此操作失败。

要求

   
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2008 企业版、Windows Server 2008 Datacenter
目标平台 Windows
标头 clusapi.h
Library ClusAPI.lib
DLL ClusAPI.dll

另请参阅

ClusterRegOpenKey