Поделиться через


Функция 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, которая содержит имя возвращаемого значения.

[in, out] lpcchValueName

Указатель на размер буфера lpszValueName в виде количества символов. На входных данных укажите максимальное число символов, которые может содержать буфер, включая завершающее значение NULL. В выходных данных указывает количество символов в результирующем имени, за исключением завершающего значения NULL.

[out, optional] lpdwType

Указатель на код типа для записи значения или значение NULL , если код типа не требуется. Код типа может иметь одно из следующих значений.

REG_BINARY (3)

Двоичные данные в любой форме.

REG_DWORD (4)

32-разрядное число.

REG_DWORD_BIG_ENDIAN (5)

32-разрядное число, хранящееся в формате big-endian.

REG_EXPAND_SZ (2)

Строка Юникода, завершающаяся null, которая содержит нерасширенные ссылки на переменные среды (например, "%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.

[out, optional] lpData

Указатель на данные для записи значения. Этот параметр может иметь значение NULL , если данные не требуются.

[in, out, optional] lpcbData

На входных данных указатель на количество байтов в буфере, на который указывает параметр lpbData . В выходных данных указатель на количество байтов, полученных в результате операции. Этот параметр может иметь значение NULL , только если lpbData имеет значение NULL.

Возвращаемое значение

Функция возвращает одно из следующих значений.

Возвращаемый код или значение Описание
ERROR_SUCCESS
0 (0x0)
Операция выполнена успешно.
ERROR_NO_MORE_ITEMS
259 (0x103)
Значения больше не возвращаются.
ERROR_MORE_DATA
234 (0xEA)
Один из буферов вывода (lpszValueName или lpbData) слишком мал, чтобы вместить полученные данные. Параметры lpcchValueName и lpbData указывают необходимый размер (обратите внимание, что lpcchValueName не включает завершающий null в число символов).
Код системной ошибки
Операция не удалась.

Требования

   
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008 Корпоративная, Windows Server 2008 Datacenter
Целевая платформа Windows
Header clusapi.h
Библиотека ClusAPI.lib
DLL ClusAPI.dll

См. также раздел

ClusterRegOpenKey