次の方法で共有


EnumResourceNamesExW 関数 (libloaderapi.h)

指定したバイナリ モジュールに関連付けられている指定した型のリソースを列挙します。 検索には、LN ファイルとそれに関連付けられている .mui ファイルの両方を含めることができます。また、いくつかの方法で制限することもできます。

構文

BOOL EnumResourceNamesExW(
  [in, optional] HMODULE          hModule,
                 LPCWSTR          lpType,
  [in]           ENUMRESNAMEPROCW lpEnumFunc,
  [in]           LONG_PTR         lParam,
  [in]           DWORD            dwFlags,
  [in]           LANGID           LangId
);

パラメーター

[in, optional] hModule

型: HMODULE

検索するモジュールへのハンドル。 通常、これは LN ファイルであり、フラグ RESOURCE_ENUM_MUI が設定されている場合は、適切な .mui ファイルが検索に含まれます。 または、.mui ファイルまたはその他の LN ファイルへのハンドルを指定することもできます。

このパラメーターが NULL場合、現在のプロセスの作成に使用されるモジュールにハンドルを渡すのと同じです。

lpType

型: LPCTSTR

名前が列挙されているリソースの種類。 または、ポインターではなく、このパラメーターを MAKEINTRESOURCE(ID) できます。ここで、ID は定義済みのリソースの種類を表す整数値です。 定義済みのリソースの種類の一覧については、「リソースの種類の参照してください。 詳細については、以下の「解説」セクションを参照してください。

[in] lpEnumFunc

型: ENUMRESNAMEPROC

列挙されたリソース名ごとに呼び出されるコールバック関数へのポインター。 詳細については、「EnumResNameProcを する」を参照してください。

[in] lParam

型: LONG_PTR

コールバック関数に渡されるアプリケーション定義の値。 このパラメーターは、エラー チェックで使用できます。

[in] dwFlags

型: DWORD

検索するファイルの種類。 次の値がサポートされています。 dwFlags が 0 の場合、RESOURCE_ENUM_LN フラグと RESOURCE_ENUM_MUI フラグが指定されていると見なされることに注意してください。

価値 意味
RESOURCE_ENUM_MUI
0x0002
通常のリソース ローダー戦略に従って、hModule で指定された LN ファイルと現在の言語設定に関連付けられている .mui ファイル内のリソースを検索します (ユーザー インターフェイス言語管理を参照)。 または、LangId が 0 以外の場合は、指定した .mui ファイルのみが検索されます。 通常、このフラグは、hModule LN ファイルを参照する場合にのみ使用する必要があります。 hModule が .mui ファイルを参照している場合、そのファイルは実際にはフラグの名前にもかかわらず、RESOURCE_ENUM_LN フラグで覆われます。
RESOURCE_ENUM_LN
0x0001
ファイルが LN ファイル、別の種類の LN ファイル、または .mui ファイルのいずれであるかに関係なく、hModuleで指定されたファイルを検索します。
RESOURCE_ENUM_VALIDATE
0x0008
リソースが適切に書式設定されていることを確認するために、列挙の実行中に、PE ヘッダー内のリソース セクションとその参照に対して追加の検証を実行します。 検証では、列挙される名前ごとに 260 文字の上限が設定されます。

[in] LangId

型: LANGID

MUI モジュールで検索をフィルター処理するために使用されるローカライズ言語。 このパラメーターは、dwFlagsで RESOURCE_ENUM_MUI フラグ 設定されている場合にのみ使用されます。 ゼロを指定すると、通常のリソース ローダー戦略に従って、現在の言語設定に一致するすべての .mui ファイルが検索に含まれます (ユーザー インターフェイス言語管理参照)。 0 以外の LangId が指定されている場合、検索される .mui ファイルは、指定した LangIdに一致するものになります。

戻り値

型: BOOL

関数 成功した場合は TRUE、指定した型のリソースが見つからない場合、または別の理由で関数が失敗した場合は FALSE を します。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

IS_INTRESOURCE(lpszType) が TRUE場合、lpszType 指定されたリソースの種類の整数識別子を指定します。 それ以外の場合は、null で終わる文字列へのポインターです。 文字列の最初の文字がシャープ記号 (#)の場合、残りの文字は 10 進数を表します。

リソースの種類の整数識別子。 たとえば、文字列 "#258" は識別子 258 を表します。

列挙検索には、LN ファイルとそれに関連付けられている .mui ファイルの両方を含めることができます。 任意の型の 1 つのバイナリ モジュールに制限できます。 また、1 つの LN ファイルに関連付けられている .mui ファイルに制限することもできます。 hModule パラメーターに LN ファイルを指定し、LangId パラメーター 0 以外の値を指定すると、その LN ファイルと言語に関連付けられている一意の .mui ファイルに検索を制限できます。

見つかったリソースごとに、EnumResourceNamesEx は、lpEnumFuncアプリケーション定義コールバック関数を呼び出し、検索する各リソースの名前または ID、および EnumResourceNamesExに渡されたその他のさまざまなパラメーター 渡します。

リソースに ID がある場合、ID はコールバック関数に返されます。それ以外の場合は、リソース名がコールバック関数に返されます。 詳細については、「EnumResNameProcを する」を参照してください。

EnumResourceNamesEx 関数は、コールバック関数が FALSE 返すか、この型のすべてのリソース名が列挙されるまで、リソース名を列挙し続けます。

hModule LN ファイルを指定し、両方のフラグが選択されている場合、列挙される名前は、その LN ファイル内に存在するリソースまたはそれに関連付けられている .mui ファイルのいずれかに対応します。 .mui ファイルが見つからない場合は、LN ファイルの名前のみが返されます。 1 つの適切な .mui ファイルが見つかると、1 つの LN ファイルに対応するすべての .mui ファイルのリソース名が同じであるため、検索は続行されません。

dwFlags と LangId 両方が 0 の場合、関数は enumResourceNamesと同様に動作します。

LangId が 0 以外の場合は、その言語識別子に対応する .mui ファイルのみが検索されます。 言語フォールバックは使用されません。 その言語の .mui ファイルが存在しない場合、列挙は空になります (その言語のリソースが LN ファイルに存在し、フラグも LN ファイルを検索するように設定されている場合を除きます)。

列挙型に重複が含まれることはありません。特定の言語のリソースが LN ファイルと .mui ファイルの両方に含まれている場合、名前は 1 回だけ列挙されます。

例については、「リソース リストの作成」を参照してください。

手記

libloaderapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして EnumResourceNamesEx を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2008 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー libloaderapi.h (Windows.h を含む)
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

概念

EnumResNameProc の

EnumResourceLanguagesEx の

EnumResourceNames の

EnumResourceTypesEx の

リファレンス

リソース