CLUS_STARTING_PARAMS 结构 (clusapi.h)
指示 节点 尝试启动 群集服务 是否表示尝试形成或加入 群集,以及该节点之前是否尝试启动此版本的群集服务。 资源 DLL 使用CLUSCTL_RESOURCE_TYPE_STARTING_PHASE1和CLUSCTL_RESOURCE_TYPE_STARTING_PHASE2控制代码接收CLUS_STARTING_PARAMS结构。
语法
typedef struct CLUS_STARTING_PARAMS {
DWORD dwSize;
BOOL bForm;
BOOL bFirst;
} CLUS_STARTING_PARAMS, *PCLUS_STARTING_PARAMS;
成员
dwSize
结构的字节大小。
bForm
指示群集服务的此特定启动是表示窗体还是联接操作。
TRUE
启动群集服务的节点正在尝试形成群集。 当前没有其他节点处于活动状态。
FALSE
启动群集服务的节点正在尝试加入现有群集。 至少有一个其他节点当前处于活动状态。
bFirst
指示此版本的群集服务是否已在节点上启动。
TRUE
节点首次启动群集服务的某个版本。
FALSE
该节点以前已启动此版本的群集服务。
注解
CLUS_STARTING_PARAMS结构允许资源 DLL 响应CLUSCTL_RESOURCE_TYPE_STARTING_PHASE1,并根据启动情况CLUSCTL_RESOURCE_TYPE_STARTING_PHASE2控制代码。 例如,DLL 可能会在群集形成时执行特殊的初始化步骤,并执行另一组操作以响应联接。
示例
以下示例演示 ResourceTypeControl 的缩写实现。 有关详细信息,请参阅 Implementing ResourceTypeControl。
const LPWSTR g_MY_RESOURCE_TYPE_NAME[] =
{
L"MyType_0",
L"MyType_1",
L"MyType_2",
L"MyType_3"
};
DWORD WINAPI MyDllResourceTypeControl(
IN LPCWSTR ResourceTypeName,
IN DWORD ControlCode,
IN PVOID InBuffer,
IN DWORD InBufferSize,
OUT PVOID OutBuffer,
IN DWORD OutBufferSize,
OUT LPDWORD BytesReturned
)
{
DWORD status;
PCLUS_STARTING_PARAMS pStart;
switch ( ControlCode )
{
case CLUSCTL_RESOURCE_TYPE_STARTING_PHASE1:
if( lstrcmpi( ResourceTypeName, g_MY_RESOURCE_TYPE_NAME[2] ) == 0 )
{
pStart = (PCLUS_STARTING_PARAMS) InBuffer;
if( ( pStart->bForm == TRUE ) &&
( pStart->bFirst == FALSE ) )
{
// Hypothetical initialization code for resource type "MyType_2"
// Fires only when the cluster forms, but not for first-time launches of the Cluster service.
}
}
else
{
status = ERROR_INVALID_FUNCTION;
}
break;
case CLUSCTL_RESOURCE_TYPE_STARTING_PHASE2:
pStart = (PCLUS_STARTING_PARAMS) InBuffer;
if( pStart->bFirst == TRUE )
{
// Hypothetical verification code for all resource types supported by the DLL
// Fires for first-time launches of the Cluster service
}
else
{
status = ERROR_INVALID_FUNCTION;
}
break;
// case ( Other control codes )....
// ...
// break;
default:
status = ERROR_INVALID_FUNCTION;
break;
}
// end switch
return( status );
}
// MyDllResourceTypeControl
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
标头 | clusapi.h |