Функция ClusterEnum (clusapi.h)
Перечисляет объекты кластера в кластере, возвращая имя одного объекта при каждом вызове. Тип PCLUSAPI_CLUSTER_ENUM определяет указатель на эту функцию.
Синтаксис
DWORD ClusterEnum(
[in] HCLUSENUM hEnum,
[in] DWORD dwIndex,
[out] LPDWORD lpdwType,
[out] LPWSTR lpszName,
[in, out] LPDWORD lpcchName
);
Параметры
[in] hEnum
Дескриптор перечисления кластера, возвращаемый функцией ClusterOpenEnum .
[in] dwIndex
Индекс, используемый для идентификации следующей записи для перечисления. Этот параметр должен быть равен нулю для первого вызова ClusterEnum , а затем увеличиваться для последующих вызовов.
[out] lpdwType
Указатель на тип возвращаемого объекта. При каждом вызове возвращается одно из следующих значений перечисления CLUSTER_ENUM .
CLUSTER_ENUM_NODE (1 (0x1))
Перечисляет узлы в кластере.
CLUSTER_ENUM_RESTYPE (2 (0x2))
Перечисляет типы ресурсов в кластере.
CLUSTER_ENUM_RESOURCE (4 (0x4))
Перечисляет ресурсы в кластере.
CLUSTER_ENUM_GROUP (8 (0x8))
Перечисляет группы в кластере.
CLUSTER_ENUM_NETWORK (16 (0x10))
Перечисляет сети в кластере.
CLUSTER_ENUM_NETINTERFACE (32 (0x20))
Перечисляет сетевые интерфейсы в кластере.
CLUSTER_ENUM_SHARED_VOLUME_RESOURCE (1073741824 (0x40000000))
Перечисляет общие тома кластера, используемые кластером.
CLUSTER_ENUM_INTERNAL_NETWORK (2147483648 (0x80000000))
Перечисляет сети, используемые кластером для внутреннего взаимодействия. Сети перечисляются в порядке с наивысшим приоритетом, установленным функцией SetClusterNetworkPriorityOrder .
CLUSTER_ENUM_ALL ((CLUSTER_ENUM_NODE | CLUSTER_ENUM_RESTYPE | CLUSTER_ENUM_RESOURCE | CLUSTER_ENUM_GROUP | CLUSTER_ENUM_NETWORK | CLUSTER_ENUM_NETINTERFACE))
Перечисляет все объекты кластера.
[out] lpszName
Указатель на строку Юникода, завершающуюся null, которая содержит имя возвращаемого объекта.
[in, out] lpcchName
Указатель на размер буфера lpszName в виде количества символов. На входных данных укажите максимальное количество символов, которые может содержать буфер, включая завершающее значение NULL. В выходных данных указывает количество символов в итоговом имени, за исключением завершающего значения NULL.
Возвращаемое значение
Функция возвращает одно из следующих значений.
Возвращаемый код/значение | Описание |
---|---|
|
Операция выполнена успешно. |
|
Больше нет доступных данных. Это значение возвращается, если объектов запрошенного типа больше нет. |
|
More data is available. Это значение возвращается, если буфер, на который указывает lpszName , недостаточно велик для хранения результата. Параметр lpcchName возвращает количество символов в результате, за исключением завершающего значения NULL. |
Комментарии
Функция ClusterEnum обычно используется для итерации коллекции объектов кластера одного или нескольких типов. Например, если приложение хочет перечислить все узлы в кластере, оно вызывает ClusterOpenEnum , чтобы открыть перечислитель кластера, который может обрабатывать узлы. Параметру dwType присвоено значение CLUSTER_ENUM_NODE, чтобы указать узлы в качестве типа объекта для перечисления. Если приложение перечисляет группы в дополнение к узлам, параметру dwType присваивается значение CLUSTER_ENUM_NODE | CLUSTER_ENUM_GROUP
. Используя дескриптор, который возвращает ClusterOpenEnum , приложение вызывает ClusterEnum несколько раз, чтобы получить каждый из объектов .
Параметр lpdwType указывает на тип извлекаемого объекта.
Обратите внимание, что lpcchName относится к количеству символов, а не к числу байтов, и что возвращаемый размер не включает завершающее значение NULL в счетчике. Дополнительные сведения о размерах буферов см. в разделе Соглашения о размерах данных.
Примеры
См. раздел Перечисление объектов.
Требования
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2008 Корпоративная, Windows Server 2008 Datacenter |
Целевая платформа | Windows |
Header | clusapi.h |
Библиотека | ClusAPI.lib |
DLL | ClusAPI.dll |