次の方法で共有


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

こちらもご覧ください

CloseClusterResource

ResUtilFindDependentDiskResourceDriveLetter

ResUtilGetResourceDependency

ResUtilGetResourceDependencyByName

ResUtilGetResourceDependentIPAddressProps

ResUtilGetResourceNameDependency