Функция 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 не нужно передавать обратно количество байтов в выходном буфере.
Возвращаемое значение
Функция возвращает одно из следующих значений.
Код возврата | Описание |
---|---|
|
Операция выполнена успешно. Если операции требуется выходной буфер, lpBytesReturned (если не NULL на входных данных) указывает на фактический размер данных, возвращаемых в буфере. |
|
Выходной буфер, на который указывает 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 |