EnumResourceLanguagesA 関数 (winbase.h)

バイナリ モジュールに関連付けられた、指定した型と名前の言語固有のリソースを列挙します。

構文

BOOL EnumResourceLanguagesA(
  [in] HMODULE          hModule,
  [in] LPCSTR           lpType,
  [in] LPCSTR           lpName,
  [in] ENUMRESLANGPROCA lpEnumFunc,
  [in] LONG_PTR         lParam
);

パラメーター

[in] hModule

種類: HMODULE

検索するモジュールへのハンドル。 Windows Vista 以降では、言語 に依存しないポータブル実行可能ファイル (LN ファイル) の場合は、適切な .mui ファイル (存在する場合) が検索に含まれます。 これが特定の .mui ファイルの場合、そのファイルのみがリソースを検索します。

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

[in] lpType

種類: LPCTSTR

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

[in] lpName

種類: LPCTSTR

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

[in] lpEnumFunc

型: ENUMRESLANGPROC

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

[in] lParam

種類: LONG_PTR

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

戻り値

種類: BOOL

成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

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

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

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

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

または、アプリケーションで EnumResourceLanguagesEx を呼び出すことができます。これにより、列挙されるリソースをより正確に制御できます。

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

Windows Vista 以降では、 hModule で LN ファイルが指定されている場合、列挙されるリソースは LN ファイル内またはそれに関連付けられている .mui ファイル内に存在できます。 .mui ファイルが見つからない場合は、LN ファイルのリソースのみが返されます。 EnumResourceNamesEnumResourceTypes とは異なり、この検索では複数の .mui ファイルが検索されます。 列挙体は、 EnumUILanguages に関連付けられているフォルダー内の .mui ファイルで始まります。 その後に、 MUI リソース管理で説明されているスキームに準拠するパスを持つ他の .mui ファイルが続きます。 最後に、 hModule で指定されたファイルも検索されます。

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

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

注意

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

要件

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

関連項目

概念

EnumResLangProc

EnumResourceLanguagesEx

EnumResourceNames

EnumResourceTypes

リファレンス

リソース