EnumResourceLanguagesExW

指定されたバイナリモジュールに関連付けられた、指定された種類と名前の言語固有リソースを列挙する。EnumResourceLanguages を拡張し、列挙のより細かい制御を可能にする。(Unicode)

EnumResourceLanguagesExW hModule, lpType, lpName, lpEnumFunc, lParam, dwFlags, LangId

hModule : [intptr] 型: HMODULE 検索するモジュールへのハンドル。通常これは言語中立な PE (LN) ファイルであり、フラグ RESOURCE_ENUM_MUI が設定されている場合は適切な .mui ファイルも検索に含まれる。あるいは .mui ファイルや別の LN ファイルへのハンドルでもよい。これが特定の .mui ファイルである場合、リソースを検索するのはそのファイルのみとなる。
lpType : [wstr] 型: LPCTSTR 言語を列挙するリソースの種類。あるいは、ポインタの代わりに MAKEINTRESOURCE(ID) を指定できる。ID は事前定義リソース種別を表す整数値。事前定義リソース種別の一覧は Resource Types を参照。詳細は以下の Remarks セクションを参照。
lpName : [wstr] 型: LPCTSTR 言語を列挙するリソースの名前。あるいは、ポインタの代わりに MAKEINTRESOURCE(ID) を指定できる。ID はリソースの整数識別子。詳細は以下の Remarks セクションを参照。
lpEnumFunc : [int] 型: ENUMRESLANGPROC 列挙された各リソース言語に対して呼び出されるコールバック関数へのポインタ。詳細は EnumResLangProc を参照。
lParam : [int] 型: LONG_PTR コールバック関数に渡すアプリケーション定義の値。このパラメータはエラーチェックに使用できる。
dwFlags : [int] 型: DWORD 検索するファイルの種類。次の値がサポートされている。dwFlags が 0 の場合、RESOURCE_ENUM_LN と RESOURCE_ENUM_MUI フラグが指定されているとみなされる。
LangId : [int] 型: LANGID .mui ファイル内の検索をフィルタリングするためのローカリゼーション言語。このパラメータは dwFlags に RESOURCE_ENUM_MUI フラグが設定されている場合にのみ使用される。0 を指定した場合、すべての .mui ファイルが検索に含まれる。0 以外の LangId が指定された場合、指定された LangId に一致する .mui ファイルだけが検索される。

(プラグイン / モジュール : kernel32.dll)

解説

指定されたバイナリモジュールに関連付けられた、指定された種類と名前の言語固有リソースを列挙する。EnumResourceLanguages
を拡張し、列挙のより細かい制御を可能にする。(Unicode)

[戻り値]
型: BOOL 関数が成功した場合 TRUE、関数が指定された種類のリソースを見つけられなかったり他の理由で失敗した場合は FALSE
を返す。拡張エラー情報を取得するには GetLastError を呼ぶ。

[備考]
IS_INTRESOURCE(lpType) が TRUE の場合、lpType
は指定されたリソース種別の整数識別子を指定する。それ以外の場合は NULL 終端文字列へのポインタである。文字列の最初の文字がポンド記号
(#) の場合、残りの文字はリソース種別の整数識別子を指定する 10 進数を表す。たとえば、文字列 "#258" は識別子 258
を表す。同様に、IS_INTRESOURCE(lpName) が TRUE の場合、lpName
は指定されたリソースの整数識別子を指定する。それ以外の場合は NULL 終端文字列へのポインタである。文字列の最初の文字がポンド記号
(#) の場合、残りの文字はリソースの整数識別子を指定する 10 進数を表す。Windows Vista 以降、バイナリモジュールは通常
LN ファイルであり、列挙には対応する言語固有リソースファイル (.mui ファイル)
からのリソースも含まれる。これらは翻訳可能な言語リソースを含む。見つかったそのようなリソースごとに、EnumResourceLanguagesEx
はアプリケーション定義のコールバック関数 lpEnumFunc を呼び、リソースが見つかった言語の言語識別子(Language
Identifiers を参照)と、EnumResourceLanguagesEx に渡されたその他のパラメータを渡す。検索は LN
ファイルと関連する .mui ファイルの両方を含むこともできる。任意の種類の単一バイナリモジュールに制限することもできる。または、単一の
LN ファイルに関連する .mui ファイルに制限することもできる。さらに、hModule パラメータに LN ファイルを指定し、0
以外の LangId パラメータを指定することで、その LN ファイルと言語に関連する一意の .mui
ファイルに検索を制限することもできる。EnumResourceLanguagesEx 関数は、コールバック関数が FALSE
を返すか、すべてのリソース言語が列挙されるまで、リソース言語の列挙を続ける。hModule が LN
ファイルを指定し、両方のフラグが選択されている場合、列挙される言語には LN ファイル内または関連する .mui
ファイル内に存在するリソースのすべての言語が含まれる。.mui ファイルが見つからない場合、LN
ファイルからの言語のみが返される。dwFlags が RESOURCE_ENUM_MUI または NULL を含み、LangId が 0
の場合、列挙にはまずシステムにインストールされているすべての .mui ファイルに関連する言語が含まれ、EnumUILanguages
から取得した言語が使用される。最後に RESOURCE_ENUM_LN フラグも設定されている場合、hModule
で指定されたファイルも検索される。LangId が 0 以外の場合、その言語識別子に対応する .mui
ファイルのみが検索される。言語フォールバックは使用されない。その言語の .mui
ファイルが存在しない場合、列挙は空になる(その言語のリソースが LN ファイル内に存在し、LN
ファイルも検索するフラグが設定されている場合を除く)。列挙には重複は含まれない。特定の言語のリソースが LN ファイルと .mui
ファイルの両方に含まれている場合、その種類は 1 度だけ列挙される。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs