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 参数指向的缓冲区中的字节计数。 输出时,指针指向操作产生的字节计数。 仅当 lpbData 为 NULL 时,此参数才能为 NULL。
返回值
函数返回以下值之一。
返回代码/值 | 说明 |
---|---|
|
操作成功。 |
|
不再返回更多值。 |
|
(lpszValueName 或 lpbData) 的输出缓冲区之一太小,无法保存生成的数据。 lpcchValueName 和 lpbData 参数指示所需的大小 (请注意,lpcchValueName 在字符计数) 不包含终止 NULL。 |
此操作失败。 |
要求
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2008 企业版、Windows Server 2008 Datacenter |
目标平台 | Windows |
标头 | clusapi.h |
Library | ClusAPI.lib |
DLL | ClusAPI.dll |