그룹에 영향을 주는 작업을 시작합니다. 수행되는 작업은 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
수행할 작업을 지정하는 그룹 제어 코드 입니다. 제어 코드와 연결된 구문은 을 참조하세요.
제어 코드 아키텍처 및 다음 topics.
- 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을 전달합니다.
반환 값
함수는 다음 값 중 하나를 반환합니다.
| 반환 코드 | 설명 |
|---|---|
|
작업이 완료되었습니다. 작업에 출력 버퍼가 필요한 경우 lpBytesRe가 ( 입력 시 NULL 이 아닌 경우) 버퍼에 반환된 데이터의 실제 크기를 가리킵니다. |
|
lpOutBuffer가 가리키는 출력 버퍼가 작업으로 인한 데이터를 저장할 만큼 크지 않았습니다. lpBytesReturned 매개 변수(입력 시 NULL이 아닌 경우)는 출력 버퍼에 필요한 크기를 가리킵니다. 출력 버퍼가 필요한 작업만 ERROR_MORE_DATA 반환합니다. lpOutBuffer 매개 변수가 NULL이고 nOutBufferSize 매개 변수가 0이면 ERROR_MORE_DATA 아니라 ERROR_SUCCESS 반환될 수 있습니다. |
| 작업이 성공하지 못했습니다. 작업에 출력 버퍼가 필요한 경우 lpBytesRe가 설정한 값(입력 시 NULL 이 아닌 경우)은 신뢰할 수 없습니다. |
설명
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 |