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

PRESUTIL_GET_RESOURCE_DEPENDENCY

コールバック

シグネチャ

HRESOURCE PRESUTIL_GET_RESOURCE_DEPENDENCY(
    HANDLE hSelf,
    LPWSTR lpszResourceType
);

パラメーター

フィールド型説明
hSelfHANDLE依存する側のリソースのハンドルです。このリソースは、1 つ以上のリソースに依存しています。
lpszResourceTypeLPWSTR返す依存関係のリソースの種類を指定する、NULL で終わる Unicode 文字列です。

公式ドキュメント

指定した リソース の 依存関係 を列挙し、指定した種類の依存関係のハンドルを返します。PRESUTIL_GET_RESOURCE_DEPENDENCY 型は、この関数へのポインターを定義します。

戻り値

操作が成功した場合、 この関数は hSelf で指定されたリソースが依存しているリソースのいずれか 1 つのハンドルを返します。呼び出し元は、CloseClusterResource を呼び出してハンドルを閉じる責任があります。

操作が失敗した場合、この関数は NULL を返します。詳細については、GetLastError 関数を呼び出してください。

解説(Remarks)

ResUtilGetResourceDependency、ResUtilGetResourceDependencyByName、および ResUtilGetResourceNameDependency の各関数は、いずれも特定のリソースの種類の依存関係へのアクセス手段を提供するという点で非常によく似ています。次の表に、これらの関数の違いをまとめます。

関数 依存する側のリソースの指定方法 クラスターハンドルの要否
ResUtilGetResourceDependency リソースのハンドル 不要
ResUtilGetResourceDependencyByName リソースのハンドル 必要
ResUtilGetResourceNameDependency リソース名 不要

リソース DLL のエントリポイント関数からは、ResUtilGetResourceDependency を呼び出さないでください。ResUtilGetResourceDependency はワーカースレッドからであれば安全に呼び出せます。詳細については、Function Calls to Avoid in Resource DLLs を参照してください。

例

次の例に示すように、リソース A が物理ディスク リソースに依存していることが分かっている場合は、ResUtilGetResourceDependency を使用してその依存関係のハンドルを取得できます。

// 文字列の初期化とエラー チェックは省略しています。

HCLUSTER hCluster = OpenCluster( lpszClusterName );

//
// リソース A は物理ディスク リソースに依存しています。
// そのリソースのハンドルを取得します。
//
HRESOURCE hResA = OpenClusterResource( hCluster, lpszResName );

HRESOURCE hResD = ResUtilGetResourceDependency(
                        hResA,
                        L"Physical Disk" );

// ハンドルを閉じ、メモリを解放します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)