次の方法で共有


EnumResourceTypesExW 関数 (libloaderapi.h)

指定したバイナリ モジュールに関連付けられているリソースの種類を列挙します。 検索には、言語に依存しない ポータブル実行可能ファイル ファイル (LN ファイル) とそれに関連付けられている .mui ファイルの両方を含めることができます。 または、任意の種類の単一のバイナリ モジュール、または 1 つの LN ファイルに関連付けられている .mui ファイルに制限できます。 検索は、特定の言語のリソースを含む 1 つの関連付けられた .mui ファイルに制限することもできます。

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

構文

BOOL EnumResourceTypesExW(
  [in, optional] HMODULE          hModule,
  [in]           ENUMRESTYPEPROCW lpEnumFunc,
  [in]           LONG_PTR         lParam,
  [in]           DWORD            dwFlags,
  [in]           LANGID           LangId
);

パラメーター

[in, optional] hModule

型: HMODULE

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

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

[in] lpEnumFunc

型: ENUMRESTYPEPROC

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

[in] lParam

型: LONG_PTR

コールバック関数に渡されるアプリケーション定義の値。

[in] dwFlags

型: DWORD

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

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

[in] LangId

型: LANGID

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

戻り値

型: BOOL

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

備考

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

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

dwFlags と LangId の両方 ゼロの場合、関数は EnumResourceTypesと同様に動作します。

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

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

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

手記

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

必要条件

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

関連項目

概念

EnumResTypeProc の

EnumResourceLanguagesEx の

EnumResourceNamesEx を する

EnumResourceTypes の

リファレンス

リソース