ClusterControl 関数 (clusapi.h)
クラスターに影響する操作を開始 します。 実行される操作は、dwControlCode パラメーターに渡されるコントロール コードによって異なります。
構文
DWORD ClusterControl(
[in] HCLUSTER hCluster,
[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
影響を受けるクラスターへの処理。
[in, optional] hHostNode
NULL 以外の場合は、コントロール コードで表される操作を実行するノードを処理します。 NULL の場合、ローカル ノードは操作を実行します。 hHostNode の指定は省略可能です。
[in] dwControlCode
実行する操作を指定するCLUSCTL_CLUSTER_CODES列挙体のクラスター制御コード。 コントロール コードに関連付けられている構文については、 コントロール コードのアーキテクチャ と次のトピックを参照してください。
- CLUSCTL_CLUSTER_CHECK_VOTER_DOWN
- CLUSCTL_CLUSTER_CHECK_VOTER_EVICT
- CLUSCTL_CLUSTER_CLEAR_NODE_CONNECTION_INFO
- CLUSCTL_CLUSTER_ENUM_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_ENUM_PRIVATE_PROPERTIES
- CLUSCTL_CLUSTER_GET_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_GET_FQDN
- CLUSCTL_CLUSTER_GET_COMMON_PROPERTY_FMTS
- CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTIES
- CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTY_FMTS
- CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_GET_RO_PRIVATE_PROPERTIES
- CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID
- CLUSCTL_CLUSTER_SET_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_SET_PRIVATE_PROPERTIES
- CLUSCTL_CLUSTER_SHUTDOWN
- CLUSCTL_CLUSTER_UNKNOWN
- CLUSCTL_CLUSTER_VALIDATE_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_VALIDATE_PRIVATE_PROPERTIES
[in, optional] lpInBuffer
操作に必要な情報を含む入力バッファーへのポインター。情報が必要ない場合は NULL 。
[in] nInBufferSize
入力バッファーの割り当てられたサイズ (バイト単位)。
[out, optional] lpOutBuffer
操作の結果として得られるデータを受け取る出力バッファーへのポインター。データが返されない場合は NULL 。
[in] nOutBufferSize
出力バッファーの割り当てられたサイズ (バイト単位)。
[out, optional] lpBytesReturned
操作に起因するデータの実際のサイズ (バイト単位) を返します。 この情報が必要ない場合は、lpcbBytesReturned に NULL を渡します。
戻り値
関数は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
操作に成功しました。 操作で出力バッファーが必要な場合、 lpcbBytesReturned (入力時に NULL でない場合) は、バッファーに返されるデータの実際のサイズを指します。 |
|
lpOutBuffer が指す出力バッファーが、操作の結果として得られるデータを保持するのに十分な大きさではなかった。 lpcbBytesReturned パラメーター (入力時に NULL でない場合) は、出力バッファーに必要なサイズを指します。 出力バッファーを必要とする操作のみが ERROR_MORE_DATAを返します。 lpOutBuffer パラメーターが NULL で、nOutBufferSize パラメーターが 0 の場合は、ERROR_MORE_DATAではなく、ERROR_SUCCESSが返される可能性があります。 |
操作が成功しなかった。 操作で出力バッファーが必要な場合、 lpcbBytesReturned (入力時に NULL でない場合) で指定された値は信頼できません。 |
解説
ClusterControl がERROR_MORE_DATAを返す場合は、nOutBufferSize を lpcbBytesReturned が指すバイト数に設定し、関数をもう一度呼び出します。
LPC ハンドルと RPC ハンドルを同じ関数呼び出しに渡さないでください。 それ以外の場合、呼び出しによって RPC 例外が発生し、破壊的効果が追加される可能性があります。 LPC および RPC ハンドルの作成方法については、「LPC および RPC ハンドル」および「OpenCluster」を参照してください。
ClusterControl は 、コントロール コード関数の 1 つです。 コントロール コードとコントロール コード関数の詳細については、「コントロール コードの 使用」を参照してください。
要件
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | clusapi.h |
Library | ClusAPI.lib |
[DLL] | ClusAPI.dll |