ResUtilGetResourceDependencyByClass 関数 (resapi.h)
指定したクラスター内の指定したリソースの依存関係を列挙し、指定したリソース クラスに一致する依存関係へのハンドルを返します。 PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS型は、この関数へのポインターを定義します。
構文
HRESOURCE ResUtilGetResourceDependencyByClass(
[in] HCLUSTER hCluster,
[in] HANDLE hSelf,
[in] PCLUS_RESOURCE_CLASS_INFO prci,
[in] BOOL bRecurse
);
パラメーター
[in] hCluster
リソースが属するクラスターへのハンドル。
[in] hSelf
依存リソースを処理します。 このリソースは、1 つ以上のリソースに依存します。
[in] prci
返される依存関係のリソース クラスを記述する CLUS_RESOURCE_CLASS_INFO 構造体へのポインター。
[in] bRecurse
検索の範囲を決定します。 TRUE の場合、関数は依存リソースの依存関係ツリー全体をチェックします。 FALSE の場合、関数は依存リソースが直接依存するリソースのみをチェックします。
戻り値
操作が成功した場合、関数は hSelf で指定されたリソースが依存するリソースのいずれかにハンドルを返します。 呼び出し元は、 CloseClusterResource を呼び出してハンドルを閉じる役割を担います。
操作が失敗した場合、関数は NULL を返します。 詳細については、 GetLastError 関数を呼び出します。
注釈
リソース 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.
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | resapi.h |
Library | ResUtils.lib |
[DLL] | ResUtils.dll |
こちらもご覧ください
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByName