次の方法で共有


EnumResourceLanguagesExA 関数 (libloaderapi.h)

指定したバイナリ モジュールに関連付けられている、指定した型と名前の言語固有のリソースを列挙します。 列挙型をより詳細に制御できるようにすることで、EnumResourceLanguages 拡張します。

構文

BOOL EnumResourceLanguagesExA(
  [in] HMODULE          hModule,
  [in] LPCSTR           lpType,
  [in] LPCSTR           lpName,
  [in] ENUMRESLANGPROCA lpEnumFunc,
  [in] LONG_PTR         lParam,
  [in] DWORD            dwFlags,
  [in] LANGID           LangId
);

パラメーター

[in] hModule

型: HMODULE

検索するモジュールへのハンドル。 通常、これは言語に依存しないポータブル実行可能 (LN ファイル) であり、フラグ RESOURCE_ENUM_MUI が設定されている場合は、適切な .mui ファイルが検索に含まれます。 または、.mui ファイルまたはその他の LN ファイルへのハンドルを指定することもできます。 これが特定の .mui ファイルの場合、そのファイルのみがリソースを検索します。

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

[in] lpType

型: LPCTSTR

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

情報については、後述の「解説」セクションを参照してください。

[in] lpName

型: LPCTSTR

言語が列挙されているリソースの名前。 または、ポインターではなく、このパラメーターを MAKEINTRESOURCE(ID) できます。ここで、ID はリソースの整数識別子です。 詳細については、以下の「解説」セクションを参照してください。

[in] lpEnumFunc

型: ENUMRESLANGPROC

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

[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 ファイルは、指定された LangIdに一致するものになります。 通常、このフラグは、hModule LN ファイルを参照する場合にのみ使用する必要があります。 hModule が .mui ファイルを参照している場合、そのファイルは実際にはフラグの名前にもかかわらず、RESOURCE_LN フラグでカバーされます。 一連の検索については、後述の「解説」セクションを参照してください。
RESOURCE_ENUM_LN
0x0001
ファイルが LN ファイル、別の種類の LN ファイル、または .mui ファイルのいずれであるかに関係なく、hModuleで指定されたファイルを検索します。
RESOURCE_ENUM_MUI_SYSTEM
0x0004
.mui ファイルの検索をシステムにインストールされている MUI 言語に制限します。
RESOURCE_ENUM_VALIDATE
0x0008
リソースが適切に書式設定されていることを確認するために、列挙の実行中に、PE ヘッダー内のリソース セクションとその参照に対して追加の検証を実行します。

[in] LangId

型: LANGID

.mui ファイル内の検索をフィルター処理するために使用されるローカライズ言語。 このパラメーターは、dwFlagsで RESOURCE_ENUM_MUI フラグ 設定されている場合にのみ使用されます。 0 を指定すると、すべての .mui ファイルが検索に含まれます。 0 以外の LangId が指定されている場合、検索される .mui ファイルは、指定した LangIdに一致するものになります。

戻り値

型: BOOL

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

備考

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

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

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

リソースの整数識別子。

Windows Vista 以降では、バイナリ モジュールは通常 LN ファイルであり、列挙には、ローカライズ可能な言語リソースを含む対応する言語固有のリソース ファイル (.mui ファイル) のリソースも含まれます。

見つかったリソースごとに、EnumResourceLanguagesEx は、lpEnumFuncアプリケーション定義コールバック関数を呼び出し、リソースが見つかった言語の言語識別子 (言語識別子を参照) と、EnumResourceLanguagesExに渡されたその他のさまざまなパラメーター 渡します。

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

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

hModule LN ファイルを指定し、両方のフラグが選択されている場合、列挙される言語には、リソースが LN ファイルまたはそれに関連付けられている .mui ファイルに存在するすべての言語が含まれます。 .mui ファイルが見つからない場合は、LN ファイルの言語のみが返されます。

dwFlagsRESOURCE_ENUM_MUI または NULL が含まれており、LangId が 0 の場合、列挙型には最初に、システムにインストールされているすべての .mui ファイルに関連付けられている言語 EnumUILanguagesから取得した言語が含まれます。 最後に、RESOURCE_ENUM_LN フラグも設定されている場合は、hModule によって指定 ファイルも検索されます。

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

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

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

手記

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

必要条件

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

関連項目

概念

EnumResLangProcA の

EnumResourceNamesEx を する

EnumResourceTypesEx の

MAKEINTRESOURCE を する

リファレンス

リソース