EnumResourceTypesExW 関数 (libloaderapi.h)
指定したバイナリ モジュールに関連付けられているリソースの種類を列挙します。 検索には、 言語に依存しないポータブル実行可能 ファイル (LN ファイル) とそれに関連付けられている .mui ファイルの両方を含めることができます。 または、任意の種類の 1 つのバイナリ モジュール、または 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 フラグが指定されていると見なされることに注意してください。
値 | 説明 |
---|---|
|
通常のリソース ローダー戦略に従って、 hModule で指定されたファイルと現在の言語設定に関連付けられている .mui ファイルのいずれかでリソースの種類を検索します ( 「ユーザー インターフェイス言語管理」を参照)。 または、 LangId が 0 以外の場合は、 LangId で指定された言語の .mui ファイルのみが検索されます。 通常、このフラグは 、hModule が LN ファイルを参照している場合にのみ使用する必要があります。 hModule が .mui ファイルを参照している場合、そのファイルは、フラグの名前にもかかわらず、実際には RESOURCE_ENUM_LN フラグによってカバーされます。 |
|
ファイルが LN ファイルか .mui ファイルかに関係なく、 hModule で指定されたファイルのみを検索します。 |
|
列挙を実行してリソースが適切に書式設定されていることを確認しながら、リソース セクションとその参照に対して追加の検証を PE ヘッダーで実行します。 検証では、列挙される型ごとに 260 文字の上限が設定されます。 |
[in] LangId
種類: LANGID
MUI モジュールで検索をフィルター処理するために使用される言語。 このパラメーターは、dwFlags でRESOURCE_ENUM_MUI フラグが設定されている場合にのみ使用されます。 ゼロを指定すると、通常のリソース ローダー戦略に従って、現在の言語設定に一致するすべての .mui ファイルが検索に含まれます ( 「ユーザー インターフェイス言語管理」を参照)。 0 以外の LangId が 指定されている場合、検索される .mui ファイルは、指定した LangId に一致するものだけです。
戻り値
種類: BOOL
成功した場合は TRUE 、指定された型のリソースが関数で見つからない場合は FALSE、別の理由で関数が失敗した場合は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
EnumResourceTypesEx 関数は、コールバック関数が FALSE を返すか、すべてのリソースの種類が列挙されるまで、リソースの種類を列挙し続けます。
hModule で LN ファイルが指定され、両方のフラグが選択されている場合、列挙される型は、LN ファイル内またはそれに関連付けられている .mui ファイルに存在するリソースに対応します。 .mui ファイルが見つからない場合は、LN ファイルの型のみが返されます。 1 つの適切な .mui ファイルが見つかると、1 つの LN ファイルに対応するすべての .mui ファイルのリソースの種類が同じであるため、検索は続行されません。
dwFlags と LangId の両方が 0 の場合、関数は EnumResourceTypes のように動作します。
LangId が 0 以外の場合は、その言語識別子に対応する .mui ファイルのみが検索されます。 言語フォールバックは使用されません。 その言語の .mui ファイルが存在しない場合、列挙は空になります (その言語のリソースが LN ファイルに存在し、LN ファイルも検索するように フラグが設定されている場合を除きます)。
列挙には重複が含まれることはありません。特定の言語のリソースが LN ファイルと .mui ファイルの両方に含まれている場合、型は 1 回だけ列挙されます。
例
例については、「 リソース リストの作成」を参照してください。
注意
libloaderapi.h ヘッダーは、EnumResourceTypesEx をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | libloaderapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |
関連項目
概念
リファレンス