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


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

Инициирует операцию, влияющую на тип ресурса.

Выполняемая операция зависит от кода элемента управления , переданного параметру dwControlCode .

Синтаксис

DWORD ClusterResourceTypeControlAsUser(
  [in]            HCLUSTER hCluster,
  [in]            LPCWSTR  lpszResourceTypeName,
  [in, optional]  HNODE    hHostNode,
  [in]            DWORD    dwControlCode,
  [in, optional]  LPVOID   lpInBuffer,
  [in]            DWORD    nInBufferSize,
  [out, optional] LPVOID   lpOutBuffer,
  [in]            DWORD    nOutBufferSize,
  [out, optional] LPDWORD  lpBytesReturned
);

Параметры

[in] hCluster

Дескриптор кластера, содержащего тип ресурса, определенный в lpszResourceTypeName.

[in] lpszResourceTypeName

Указатель на строку Юникода, завершающуюся значением NULL, которая содержит имя затронутого типа ресурса.

[in, optional] hHostNode

Дескриптор узла, на котором размещен затронутый тип ресурса.

[in] dwControlCode

Код элемента управления ресурсами, перечисляемый перечислением CLUSCTL_RESOURCE_TYPE_CODES, указывающий выполняемую операцию. Синтаксис, связанный с кодом элемента управления, см. по ссылке в CLUSCTL_RESOURCE_TYPE_CODES разделе.

[in, optional] lpInBuffer

Указатель на входной буфер с информацией, необходимой для операции, или значение NULL , если информация не требуется.

[in] nInBufferSize

Число байтов в буфере, на который указывает lpInBuffer.

[out, optional] lpOutBuffer

Указатель на выходной буфер с информацией, полученной в результате операции, или значение NULL , если ничего не возвращается.

[in] nOutBufferSize

Число байтов в выходном буфере, на который указывает lpOutBuffer, или ноль, если вызывающий объект не знает, сколько данных будет возвращено.

[out, optional] lpBytesReturned

Указатель на количество байтов в буфере, на которые указывает lpOutBuffer , которые были фактически заполнены в результате операции. Вызывающий объект может передать значение NULL для lpBytesReturned , если ClusterResourceTypeControl не нужно передавать обратно количество байтов в выходном буфере.

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

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

Код возврата Описание
ERROR_SUCCESS
Операция выполнена успешно. Если операции требуется выходной буфер, lpBytesReturned (если не NULL на входных данных) указывает на фактический размер данных, возвращаемых в буфере.
ERROR_MORE_DATA
Выходной буфер, на который указывает lpOutBuffer , не был достаточно велик для хранения данных, полученных в результате операции. Параметр lpBytesReturned (если не NULL для входных данных) указывает на размер, необходимый для выходного буфера. Только операции, для которых требуется выходной буфер , возвращают ERROR_MORE_DATA. Если параметр lpOutBuffer имеет значение NULL , а параметр nOutBufferSize равен нулю, может возвращаться ERROR_SUCCESS , а не ERROR_MORE_DATA.
Код системной ошибки
Операция не была успешной. Если для операции требуется выходной буфер, значение, указанное в параметре lpBytesReturned , является ненадежным.

Комментарии

Когда ClusterResourceTypeControl возвращает ERROR_MORE_DATA, задайте для nOutBufferSize число байтов, на которое указывает lpBytesReturned, и снова вызовите функцию.

Не передавайте дескрипторы LPC и RPC в один и тот же вызов функции. В противном случае вызов вызовет исключение RPC и может иметь дополнительные разрушительные последствия. Сведения о создании дескрипторов LPC и RPC см. в разделе LPC и RPC Handles and OpenCluster.

ClusterResourceTypeControl — это одна из функций кода элемента управления. Дополнительные сведения о кодах элементов управления и функциях кода элементов управления см. в разделе Использование кодов элементов управления.

Требования

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

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

OpenCluster

Коды элементов управления типами ресурсов