ResUtilGetResourceDependencyByName 関数 (resapi.h)
指定したクラスター内の指定したリソースの依存関係を列挙し、指定した型の依存関係へのハンドルを返します。 PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_NAME型は、この関数へのポインターを定義します。
構文
HRESOURCE ResUtilGetResourceDependencyByName(
[in] HCLUSTER hCluster,
[in] HANDLE hSelf,
[in] LPCWSTR lpszResourceType,
[in] BOOL bRecurse
);
パラメーター
[in] hCluster
リソースが属するクラスターへのハンドル。
[in] hSelf
依存リソースへのハンドル。 このリソースは、1 つ以上のリソースに依存します。
[in] lpszResourceType
返される依存関係のリソースの種類を指定する NULL で終わる Unicode 文字列。
[in] bRecurse
検索の範囲を決定します。 TRUE の場合、関数は依存リソースの依存関係ツリー全体をチェックします。 FALSE の場合、関数は依存リソースが直接依存するリソースのみをチェックします。
戻り値
操作が成功した場合、関数は hSelf で指定されたリソースが依存するリソースのいずれかにハンドルを返します。 呼び出し元は、 CloseClusterResource を呼び出してハンドルを閉じる役割を担います。
操作が失敗した場合、関数は NULL を返します。 詳細については、 GetLastError 関数を呼び出します。
リターン コード | 説明 |
---|---|
|
|
|
操作が成功しなかった。 詳細については、 GetLastError 関数を呼び出します。 |
注釈
ResUtilGetResourceDependencyByName、ResUtilGetResourceDependency、および ResUtilGetResourceNameDependency 関数はすべて、特定のリソースの種類の依存関係へのアクセスを提供するという点で非常によく似ています。 次の一覧は、関数の違いをまとめたものです。
機能 | 依存リソースの指定方法 | クラスター ハンドルが必要です |
---|---|---|
ResUtilGetResourceDependency | リソース ハンドル | いいえ |
ResUtilGetResourceDependencyByName | リソース ハンドル | Yes |
ResUtilGetResourceNameDependency | リソース名 | いいえ |
リソース DLL エントリ ポイント関数から ResUtilGetResourceDependencyByName を 呼び出さないでください。 ResUtilGetResourceDependencyByName は、ワーカー スレッドから安全に呼び出すことができます。 詳細については、「 リソース DLL での回避する関数呼び出し」を参照してください。
例
次の例に示すように、リソース A が物理ディスク リソースに依存していることがわかっている場合は、 ResUtilGetResourceDependencyByName を使用して依存関係のハンドルを取得できます。
// 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 );
HRESOURCE hResD = ResUtilGetResourceDependencyByName(
hCluster,
hResA,
L"Physical Disk",
TRUE );
// Close handles and free memory.
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | resapi.h |
Library | ResUtils.lib |
[DLL] | ResUtils.dll |
こちらもご覧ください
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByClass