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
列挙の実行中に、リソース セクションとその参照に対して追加の検証を実行し、リソースが適切に書式設定されていることを確認します。

[in] LangId

種類: LANGID

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

戻り値

種類: BOOL

関数が成功した場合は TRUE、指定した型のリソースが関数で見つからない場合は 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 ファイルを指定し、0 以外の LangId パラメーターを指定すると、その LN ファイルと言語に関連付けられている一意の .mui ファイルに検索を制限できます。

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

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

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

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

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

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

注意

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

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー libloaderapi.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

概念

EnumResLangProcA

EnumResourceNamesEx

EnumResourceTypesEx

MAKEINTRESOURCE

リファレンス

リソース