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


Функция OpenClusterEx (clusapi.h)

Открывает подключение к кластеру и возвращает ему дескриптор.

Синтаксис

HCLUSTER OpenClusterEx(
  [in, optional]  LPCWSTR lpszClusterName,
  [in]            DWORD   DesiredAccess,
  [out, optional] DWORD   *GrantedAccess
);

Параметры

[in, optional] lpszClusterName

Задает одно из следующих значений:

  • Указатель на строку Юникода с пустым завершением, содержащую имя кластера или одного из узлов кластера, выраженное в виде NetBIOS-имени, полного DNS-имени или IP-адреса. При этом создается дескриптор кластера RPC.
  • NULL, который создает дескриптор LPC для кластера, к которому принадлежит локальный компьютер.

[in] DesiredAccess

Запрошенные привилегии доступа. Это может быть любое сочетание GENERIC_READ (0x80000000), GENERIC_ALL (0x10000000) или MAXIMUM_ALLOWED (0x02000000). Если это значение равно нулю (0) и может быть возвращена неопределенная ошибка. Использование GENERIC_ALL аналогично вызову OpenCluster.

[out, optional] GrantedAccess

Необязательный параметр, содержащий адрес DWORD , который получит предоставленные права доступа. Если параметр DesiredAccess имеет значение MAXIMUM_ALLOWED (0x02000000), то параметр DWORD , на который указывает этот параметр, будет содержать максимальные привилегии, предоставленные этому пользователю.

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

Если операция прошла успешно, OpenClusterEx возвращает дескриптор кластера.

Возвращаемый код/значение Описание
NULL
0
Операция не была успешной. Для получения дополнительных сведений об ошибке вызовите функцию GetLastError . Если целевой сервер не поддерживает функцию OpenClusterEx (например, если целевой сервер работает под управлением Windows Server 2008 или более ранней версии), функция GetLastError вернет RPC_S_PROCNUM_OUT_OF_RANGE (1745).

Комментарии

Дескриптор кластера — это указатель на внутреннюю структуру, в которой хранятся сведения о подключении RPC или LPC к кластеру. Все дескрипторы объектов, полученные из дескриптора кластера, будут связаны с данными сеанса RPC или LPC, хранящимися в структуре кластера. Объединение дескрипторов RPC и LPC или использование дескрипторов, полученных из разных контекстов, может привести к исключениям или другим непредсказуемым результатам. Дополнительные сведения см. в разделе Дескрипторы LPC и RPC.

Завершив работу с дескриптором кластера, важно вызвать CloseCluster , чтобы освободить всю память и завершить подключение.

Требования

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