GetFileMUIPath

指定した LN ファイルに関連するすべての言語固有リソースファイルへのパスを取得する。アプリケーションは各リソースファイルのパスを取得するため本関数を繰り返し呼ぶ必要がある。

GetFileMUIPath dwFlags, pcwszFilePath, pwszLanguage, pcchLanguage, pwszFileMUIPath, pcchFileMUIPath, pululEnumerator

dwFlags : [int] 言語の形式とフィルタリングを指定するフラグ。以下のフラグは pwszLanguage が示す言語の形式を指定する。これらのフラグは互いに排他的であり、既定は MUI_LANGUAGE_NAME である。
pcwszFilePath : [wstr] ファイルパスを指定する null 終端文字列へのポインタ。パスは既存の LN ファイル、または .txt、.inf、.msc などのファイルのいずれかである。ファイルが LN ファイルの場合、関数は関連する言語固有リソースを含むファイルを探す。それ以外の種類のファイルでは、関数は指定されたファイル名とパスに完全に一致するファイルを探す。アプリケーションは MUI_LANG_NEUTRAL_PE_FILE または MUI_NON_LANG_NEUTRAL_FILE フラグを使って、ファイル種別チェックの動作を上書きできる。詳細は注釈を参照。注: 指定するファイルパスはネットワークパスでもよい。例: "\\machinename\c$\windows\system32\notepad.exe"。
pwszLanguage : [wstr] 言語文字列を保持するバッファへのポインタ。入力時、このバッファには dwFlags の設定に応じて、アプリケーションが言語固有リソースファイルを探す対象の言語識別子または言語名が含まれる。関数からの正常復帰後、本パラメータには関数が見つけた言語固有リソースファイルの言語が含まれる。pcchLanguage が参照する値を 0 に設定したうえで、本パラメータを NULL にすることもできる。この場合、関数は必要なバッファサイズを pcchLanguage に取得する。
pcchLanguage : [var] pwszLanguage が示す言語文字列のバッファサイズ(文字単位)へのポインタ。アプリケーションが本パラメータが参照する値を 0 に設定し、pwszLanguage に NULL を渡した場合、必要なバッファサイズが pcchLanguage に返され、返されるバッファサイズは常に LOCALE_NAME_MAX_LENGTH である。これは本関数が通常連続して何度も呼ばれるためであり、関数は連続呼び出しのすべてに対して正確な言語名サイズを判別できず、後続呼び出しでバッファを拡張することもできないため、LOCALE_NAME_MAX_LENGTH のみが安全な最大値となる。
pwszFileMUIPath : [wstr] 言語固有リソースファイルへのパスを保持するバッファへのポインタ。このバッファはサイズ MAX_PATH で確保することを強く推奨する。pcchFileMUIPath が参照する値を 0 に設定する場合、本パラメータは NULL を取得することもできる。この場合、関数は必要なファイルパスバッファサイズを pcchFileMUIPath に取得する。
pcchFileMUIPath : [var] pwszFileMUIPath が示すファイルパスのバッファサイズ(文字単位)へのポインタ。関数からの正常復帰後、本パラメータには取得したファイルパスのサイズが格納される。アプリケーションが本パラメータが参照する値を 0 に設定すると、関数は pwszFileMUIPath に NULL を取得し、必要なバッファサイズを pcchFileMUIPath に返す。返されるバッファサイズは常に MAX_PATH である。これは本関数が通常連続して何度も呼ばれるためであり、関数は連続呼び出しのすべてに対して正確なパスサイズを判別できず、後続呼び出しでバッファを拡張することもできないため、MAX_PATH のみが安全な最大値となる。
pululEnumerator : [var] 列挙変数へのポインタ。本関数を最初に呼ぶときは、変数の値を 0 にする必要がある。後続の呼び出しの間、アプリケーションは本パラメータの値を変更してはならない。関数がすべての可能な言語固有リソースファイルパスを取得し終えた後は、FALSE を返す。

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

解説

指定した LN
ファイルに関連するすべての言語固有リソースファイルへのパスを取得する。アプリケーションは各リソースファイルのパスを取得するため本関数を繰り返し呼ぶ必要がある。

[戻り値]
成功した場合は TRUE、それ以外は FALSE を返す。関数が失敗した場合、出力パラメータは変更されない。拡張エラー情報を取得するには
GetLastError を呼ぶ。次のエラーコードのいずれかが返ることがある。
(以下省略)

[備考]
本関数は言語固有リソースファイルが存在することは検証するが、それらが正しいかどうかは検証しない。本関数は Application
Deployment で説明されている保管規約に従ってリソースファイルが格納されていることを要求する。本関数の呼び出しで
MUI_LANGUAGE_ID フラグを指定する場合、指定する言語文字列は先頭の 0x を含まない 16 進言語識別子で長さ 4
文字でなければならない。例えば en-US は "0409"、en は "0009"
として渡す。返される言語文字列も同じ形式である。MUI_LANGUAGE_ID を指定する場合、指定する言語文字列の各 16
進値は実際の言語識別子を表していなければならない。特に、以下のロケールに対応する値は指定できない。
(以下省略)

情報

プラグイン / モジュール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