PRESUTIL_GET_RESOURCE_NAME_DEPENDENCY
コールバックシグネチャ
HRESOURCE PRESUTIL_GET_RESOURCE_NAME_DEPENDENCY(
LPWSTR lpszResourceName,
LPWSTR lpszResourceType
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| lpszResourceName | LPWSTR | 依存する側のリソースの名前を指定する、NULL で終わる Unicode 文字列です。このリソースは 1 つ以上のリソースに依存しています。 |
| lpszResourceType | LPWSTR | 返す依存関係のリソースの種類を指定する、NULL で終わる Unicode 文字列です。 |
公式ドキュメント
ローカルクラスター内の指定されたリソースの依存関係を列挙し、指定されたリソースの種類に該当する依存関係のハンドルを返します。PRESUTIL_GET_RESOURCE_NAME_DEPENDENCY 型は、この関数へのポインターを定義します。
戻り値
操作が成功すると、 この関数は lpszResourceName で指定されたリソースが依存しているリソースのいずれかに対するハンドルを返します。呼び出し元は、CloseClusterResource を呼び出してハンドルを閉じる必要があります。
操作が失敗した場合、 この関数は NULL を返します。詳細については、GetLastError 関数を呼び出してください。
解説(Remarks)
ResUtilGetResourceNameDependency、ResUtilGetResourceDependency、ResUtilGetResourceDependencyByName の各関数は、いずれも特定のリソースの種類の依存関係にアクセスする手段を提供する点でよく似ています。次の表に、これらの関数の違いをまとめます。
| 関数 | 依存する側のリソースの指定方法 | クラスターハンドルの要否 |
|---|---|---|
| ResUtilGetResourceDependency | リソースハンドル | 不要 |
| ResUtilGetResourceDependencyByName | リソースハンドル | 必要 |
| ResUtilGetResourceNameDependency | リソース名 | 不要 |
ResUtilGetResourceNameDependency は、リソース DLL のエントリポイント関数から呼び出さないでください。ResUtilGetResourceNameDependency はワーカースレッドから安全に呼び出せます。詳細については、リソース DLL で呼び出しを避けるべき関数を参照してください。
例
次の例に示すように、リソース A が Physical Disk リソースに依存していることが分かっている場合は、ResUtilGetResourceNameDependency を使用してその依存関係のハンドルを取得できます。
// 文字列の初期化とエラーチェックは省略しています。
HRESOURCE hResD = ResUtilGetResourceNameDependency(
L"Resource_A_Name",
L"Physical Disk" );
// ハンドルを閉じてメモリを解放します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)