指定されたバイナリモジュールに関連付けられた、指定された種類と名前の言語固有リソースを列挙する。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 |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |