ホーム › Networking.Clustering › PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS
PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS
コールバックシグネチャ
HRESOURCE PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS(
HCLUSTER hCluster,
HANDLE hSelf,
CLUS_RESOURCE_CLASS_INFO* prci,
BOOL bRecurse
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hCluster | HCLUSTER | リソースが属するクラスターのハンドルです。 |
| hSelf | HANDLE | 依存元のリソースのハンドルです。このリソースは、1 つ以上のリソースに依存しています。 |
| prci | CLUS_RESOURCE_CLASS_INFO* | 返す依存関係のリソースクラスを記述する CLUS_RESOURCE_CLASS_INFO 構造体へのポインターです。 |
| bRecurse | BOOL | 検索の範囲を決定します。TRUE の場合、関数は依存元のリソースの配下にある依存関係ツリー全体を調べます。FALSE の場合、関数は依存元のリソースが直接依存しているリソースのみを調べます。 |
公式ドキュメント
指定された クラスター 内の指定された リソース の 依存関係 を列挙し、指定されたリソースクラスに一致する依存関係のハンドルを返します。PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS 型は、この関数へのポインターを定義します。
戻り値
処理が成功した場合、関数は hSelf で指定されたリソースが依存しているリソースのいずれかのハンドルを返します。呼び出し元は、CloseClusterResource を呼び出してハンドルを閉じる必要があります。
処理が失敗した場合、関数は NULL を返します。詳細については、GetLastError 関数を呼び出してください。
解説(Remarks)
リソース DLL のエントリポイント関数から ResUtilGetResourceDependencyByClass を呼び出さないでください。ResUtilGetResourceDependencyByClass は、ワーカースレッドからであれば安全に呼び出せます。詳細については、リソース DLL で呼び出しを避けるべき関数 を参照してください。
例
次の例に示すように、リソース A が ストレージクラスのリソース に依存していることが分かっている場合は、ResUtilGetResourceDependencyByClass を使用して、そのリソースについて他に何も知らなくてもハンドルを取得できます。
// String initialization and error checking omitted.
HCLUSTER hCluster = OpenCluster( lpszClusterName );
//
// Resource A depends on a storage class resource.
// Get a handle to that resource.
//
HRESOURCE hResA = OpenClusterResource( hCluster, lpszResName );
PCLUS_RESOURCE_CLASS_INFO pClassInfo;
pClassInfo->rc = CLUS_RESCLASS_STORAGE;
//
// Returns a handle to the storage class resource on which resource A depends.
// Can now perform a variety of operations on the dependency.
//
HRESOURCE hResD = ResUtilGetResourceDependencyByClass(
hCluster,
hResA,
pClassInfo,
TRUE );
// Close handles and free memory.
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)