Win32 API 日本語リファレンス
ホーム › Networking.Clustering › PCLUSAPI_MOVE_CLUSTER_GROUP

PCLUSAPI_MOVE_CLUSTER_GROUP

コールバック

シグネチャ

DWORD PCLUSAPI_MOVE_CLUSTER_GROUP(
    HGROUP hGroup,
    HNODE hDestinationNode
);

パラメーター

フィールド型説明
hGroupHGROUP移動するグループのハンドルです。
hDestinationNodeHNODE移動したグループをオンラインに戻すノードのハンドル、または NULL です。

公式ドキュメント

グループとそのすべてのリソースを、あるノードから別のノードへ移動します。PCLUSAPI_MOVE_CLUSTER_GROUP 型は、この関数へのポインターを定義します。

戻り値

操作が成功した場合、この関数は ERROR_SUCCESS を返します。

操作が失敗した場合、 この関数はシステムエラーコードを返します。次に示すのは、返される可能性のあるエラーコードの1つです。

戻り値 説明
ERROR_IO_PENDING
グループの所有権の再割り当てが進行中です。

解説(Remarks)

MoveClusterGroup 関数の戻り値は、グループやそのリソースの状態について何も意味しません。戻り値は、所有権の変更が成功したかどうかのみを示します。MoveClusterGroup から復帰した後、クラスターは常に、グループを移動前の状態へ戻そうとします。

移動後にリソースまたはグループが特定の状態であることをアプリケーションで保証したい場合は、次のようにします。

  1. 移動前に状態を確認します。クラスターは、移動後にその状態を復元しようとします。
  2. 移動後に状態をポーリングし、必要に応じて調整します。または、通知ポートを作成し(Receiving Cluster Events を参照)、CLUSTER_CHANGE_GROUP_STATE イベントを待機します。
hDestinationNode に NULL を指定した場合、MoveClusterGroup は可能な限り最適なノードへグループを移動しようとします。グループを受け入れられるノードが1つも無い場合、この関数は失敗します。また、hDestinationNode パラメーターで指定されたノードではグループをオンラインにできないと MoveClusterGroup が判断した場合にも失敗します。

リソース DLL から MoveClusterGroup を呼び出さないでください。詳細については、Function Calls to Avoid in Resource DLLs を参照してください。

LPC ハンドルと RPC ハンドルを同じ関数呼び出しに渡さないでください。渡した場合、呼び出しは RPC 例外を発生させ、さらに破壊的な影響を及ぼす可能性があります。LPC ハンドルと RPC ハンドルの作成方法については、Using Object Handles および OpenCluster を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)