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

PCLUSAPI_ADD_CLUSTER_RESOURCE_DEPENDENCY

コールバック

シグネチャ

DWORD PCLUSAPI_ADD_CLUSTER_RESOURCE_DEPENDENCY(
    HRESOURCE hResource,
    HRESOURCE hDependsOn
);

パラメーター

フィールド型説明
hResourceHRESOURCE依存する側のリソースのハンドルです。
hDependsOnHRESOURCEhResource で識別されるリソースが依存する先のリソースのハンドルです。

公式ドキュメント

2 つのリソースの間に依存関係を作成します。PCLUSAPI_ADD_CLUSTER_RESOURCE_DEPENDENCY 型は、この関数へのポインターを定義します。

戻り値

操作が成功した場合は、ERROR_SUCCESS (0) を返します。

操作が失敗した場合、 AddClusterResourceDependency は システム エラー コードのいずれかを返します。戻り値として次の値が考えられます。

リターン コード/値 説明
ERROR_CIRCULAR_DEPENDENCY
1059 (0x423)
リソースが自分自身に依存しています。
ERROR_DEPENDENCY_ALREADY_EXISTS
5003 (0x138B)
リソースの依存関係が既に存在します。
ERROR_DEPENDENCY_NOT_ALLOWED
5069 (0x13CD)
依存する側のリソースがクォーラムです。
ERROR_INVALID_PARAMETER
87 (0x57)
これらのリソースが同じグループにありません。
ERROR_RESOURCE_NOT_AVAILABLE
5006 (0x138E)
少なくとも一方のリソースが削除対象としてマークされています。
ERROR_RESOURCE_ONLINE
5019 (0x139B)
依存する側のリソースが既にオンラインです。

解説(Remarks)

AddClusterResourceDependency 関数によって作成された依存関係は、 障害の発生後に、リソースがあるノードから別のノードへ移動される方法に影響します。また、リソースがオフラインにされ、再びオンラインにされる順序を決定します。

依存関係にあるリソースは、まとめて移動する必要があります。依存する側のリソースは、依存先のリソースよりも後にオンラインにする必要があります。

hResource と hDependsOn で識別される 2 つのリソースは、 同じグループに存在する必要があります。

hResource が既にオンラインである場合は、 AddClusterResourceDependency を呼び出さないでください。その呼び出しは ERROR_RESOURCE_ONLINE エラーで失敗します。なお、この動作は Windows Server 2008 で変更されています。AddClusterResourceDependency を呼び出して、リソースをオフラインにすることなくリソースの依存関係を変更できます。

リソース DLL から AddClusterResourceDependency を呼び出さないでください。詳細については、 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)