clusterGroupControl 函式 (clusapi.h)
起始會影響 群組的作業。 執行的作業取決於傳遞至 dwControlCode 參數的控制程式代碼。
語法
DWORD ClusterGroupControl(
[in] HGROUP hGroup,
[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] hGroup
要受到影響之群組的句柄。
[in, optional] hHostNode
如果為非 NULL,請處理節點,以執行控件程式代碼所代表的作業。 如果為 NULL,則擁有群組的 節點 會執行作業。 指定 hHostNode 是選擇性的。
[in] dwControlCode
群組控件程式代碼,指定要執行的作業。 如需與控件程式代碼相關聯的語法,請參閱
控制程式代碼架構 和下列主題:
- CLUSCTL_GROUP_ENUM_COMMON_PROPERTIES
- CLUSCTL_GROUP_ENUM_PRIVATE_PROPERTIES
- CLUSCTL_GROUP_GET_CHARACTERISTICS
- CLUSCTL_GROUP_GET_COMMON_PROPERTIES
- CLUSCTL_GROUP_GET_COMMON_PROPERTY_FMTS
- CLUSCTL_GROUP_GET_FLAGS
- CLUSCTL_GROUP_GET_ID
- CLUSCTL_GROUP_GET_NAME
- CLUSCTL_GROUP_GET_PRIVATE_PROPERTIES
- CLUSCTL_GROUP_GET_PRIVATE_PROPERTY_FMTS
- CLUSCTL_GROUP_GET_RO_COMMON_PROPERTIES
- CLUSCTL_GROUP_GET_RO_PRIVATE_PROPERTIES
- CLUSCTL_GROUP_QUERY_DELETE
- CLUSCTL_GROUP_SET_COMMON_PROPERTIES
- CLUSCTL_GROUP_SET_PRIVATE_PROPERTIES
- CLUSCTL_GROUP_UNKNOWN
- CLUSCTL_GROUP_VALIDATE_COMMON_PROPERTIES
- CLUSCTL_GROUP_VALIDATE_PRIVATE_PROPERTIES
[in, optional] lpInBuffer
輸入緩衝區的指標,其中包含作業所需的資訊,如果不需要任何資訊,則為 NULL 。
[in] nInBufferSize
輸入緩衝區) 的已配置大小 (以位元組為單位。
[out, optional] lpOutBuffer
輸出緩衝區的指標,以接收作業所產生的數據,如果未傳回任何數據,則為 NULL 。
[in] nOutBufferSize
輸出緩衝區的已配置大小 (位元組) 。
[out, optional] lpBytesReturned
傳回實際大小 (,以位元組為單位,) 作業所產生的數據。 如果不需要此資訊,請為 lpBytesReturned 傳遞 NULL。
傳回值
函式會傳回下列其中一個值。
傳回碼 | Description |
---|---|
|
作業成功。 如果作業需要輸出緩衝區,則 lpBytesReturned (輸入) 指向緩衝區中傳回之數據的實際大小。 |
|
lpOutBuffer 指向的輸出緩衝區不夠大,無法保存作業所產生的數據。 如果輸入) 上不是 NULL,則 lpBytesReturned 參數 (指向輸出緩衝區所需的大小。 只有需要輸出緩衝區傳回 ERROR_MORE_DATA的作業。 如果 lpOutBuffer 參數為 NULL ,且 nOutBufferSize 參數為零 ,則ERROR_SUCCESS 可能會傳回,而不是 ERROR_MORE_DATA。 |
作業未成功。 如果作業需要輸出緩衝區,則輸入) 上不是 NULL 時,由 lpBytesReturned 所指定的值 (不可靠。 |
備註
如果 ClusterGroupControl 傳回 ERROR_MORE_DATA,請將 nOutBufferSize 設定為 lpBytesReturned 指向的位元元組數目,然後再次呼叫函式。
請勿將 LPC 和 RPC 句柄傳遞至相同的函數調用。 否則,呼叫將會引發 RPC 例外狀況,而且可能會有額外的破壞性影響。 如需如何建立 LPC 和 RPC 句柄的資訊,請參閱 LPC 和 RPC 句柄 和 OpenCluster。
ClusterGroupControl 是其中一個 控制程式代碼函式。 如需控制程式代碼和控制程式碼函式的詳細資訊,請參閱 使用控件代碼。
範例
下列代碼段示範 對 ClusterGroupControl 的呼叫。
// Allocate buffer.
lpPropList = LocalAlloc( LPTR, cbAllocated );
// Initial call.
dwResult = ClusterGroupControl( hCluster,
NULL,
CLUSCTL_GROUP_GET_COMMON_PROPERTIES,
NULL,
0,
lpPropList,
cbAllocated,
&cbReturned );
// If the buffer was too small, reallocate it to the necessary size,
// returned in cbReturned.
if ( dwResult == ERROR_MORE_DATA )
{
LocalFree( lpPropList );
cbAllocated = cbReturned;
lpPropList = LocalAlloc( LPTR, cbAllocated );
if ( lpPropList == NULL )
{
// Respond to error.
}
dwResult = ClusterGroupControl( hCluster,
NULL,
CLUSCTL_GROUP_GET_COMMON_PROPERTIES,
NULL,
0,
lpPropList,
cbAllocated,
&cbReturned );
}
if ( dwResult != ERROR_SUCCESS )
{
// Respond to error.
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
目標平台 | Windows |
標頭 | clusapi.h |
程式庫 | ClusAPI.lib |
Dll | ClusAPI.dll |