LoadMUILibraryA 関数 (muiload.h)

特定の言語に依存しない (LN) ファイルに関連付けられている言語固有のリソースへのハンドルを返します。

メモ DLL が正しくアンロードされるように、アプリケーションは LoadMUILibrary の各呼び出しと FreeMUILibrary の対応する呼び出しと一致する必要があります。
 

構文

HINSTANCE LoadMUILibraryA(
  [in] PCSTR  pszFullModuleName,
  [in] DWORD  dwLangConvention,
  [in] LANGID LangID
);

パラメーター

[in] pszFullModuleName

LN ファイルの名前を指定する null で終わる文字列へのポインター。

[in] dwLangConvention

Windows Vista より前のオペレーティング システムで名前付け規則を指定するフラグで、言語固有のリソース ファイルを含むディレクトリに名前を付けます。 フラグは相互に排他的であり、既定値はMUI_LANGUAGE_NAME。

意味
MUI_LANGUAGE_ID
言語 識別子 形式を使用して、言語固有のリソース ファイルを含むフォルダーの名前を解釈します。
MUI_LANGUAGE_NAME
言語名の形式を使用して、言語固有のリソース ファイルを含むフォルダー の名前 を解釈します。
 

次のフラグはオプションとして使用でき、他のフラグと組み合わせて使用できます。

意味
MUI_LANGUAGE_EXACT
識別された言語のリソースがリソース ファイルに見つからない場合は、pwszModuleName で指定されたメイン モジュールをチェックし、成功した場合はそのモジュールにハンドルを返します。

[in] LangID

Windows Vista より前のオペレーティング システム上のユーザー インターフェイス リソースの言語識別子。 言語識別子は、次のいずれかのロケール情報定数に関連付けられている言語に対応できません。

戻り値

成功した場合は、適切な言語固有のリソース ファイルへのハンドルを返します。

失敗した場合、この関数は NULL を 返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。

注釈

この関数を使用すると、Win32 MUI リソース テクノロジを使用して開発されたアプリケーションで、Windows Vista より前のオペレーティング システムに読み込む言語固有のリソース ファイルを正しく判断できます。 この関数を使用するアプリケーションは、特に Windows Vista 上にビルドする必要はありませんが、Windows Vista 用のMicrosoft Windows SDKで提供される MUILoad ライブラリと静的にリンクする必要があります。 この関数では、標準規則を使用して実行可能ファイルと言語固有のリソース ファイルを格納する必要があります。 ファイル の配置 の詳細については、「アプリケーションの展開」を参照してください。

次の項目は、この関数によるサテライト バイナリの読み込みに影響します。

  • 関数を呼び出すアプリケーションを実行しているオペレーティング システムのバージョン
  • dwLangConvention パラメーターで渡されるフラグ
  • LangID パラメーターで渡される言語識別子の状態
Windows Vista で実行している場合、この関数はリダイレクトなしで メイン モジュールを読み込みます。 リソース ローダー関数は呼び出されたときに適切にリダイレクトを実行するため、 pszFullModuleName パラメーターのみが使用されます。 Windows Vista より前のオペレーティング システムで実行する場合、この関数では、アプリケーションが提供するすべてのパラメーターが考慮されます。 pszFullModuleName で表されるファイルに関連付けられている適切なサテライト バイナリ ペアにバイナリ読み込みをリダイレクトします。 このプロセスでは、ファイルに関連付けられているパスを再構成して、リソース ローダー機能の基になる Windows Vista の動作を模倣します。

アプリケーションは dwLangConvention パラメーターを使用して、サテライト バイナリのプローブ方法を指定します。 アプリケーションでこのパラメーターをMUI_LANGUAGE_IDに設定すると、バイナリは 16 進数の文字列値を持つフォルダーでプローブされます。 (これらの値には先頭の 0x は含まれません。長さは 4 文字です。 たとえば、en-US は

"0409" として、en を "0009" として使用します)。 アプリケーションで パラメーターが MUI_LANGUAGE_NAME に設定されている場合、関数は Windows Vista リソースの読み込みを使用します。この読み込みでは、言語名ベースのフォルダー プローブを使用してサテライト ファイルを検索します。

LangID パラメーターの言語識別子の状態は、リソースプローブに影響します。 アプリケーションでこのパラメーターを 0 に設定した場合、関数はオペレーティング システムに依存する定義済みのフォールバック ロジックを使用して、適切な言語固有のリソース ファイルを検索します。 アプリケーションで LangID を 0 以外の値に設定すると、プローブ メカニズムは、適切な名前のフォルダーとそれに関連付けられているニュートラルフォルダーのみを検索します。 詳細については、「 ユーザー インターフェイス言語管理」を参照してください。

LoadMUILibrary は関数 LoadLibraryEx に基づいて構築されており、同様の考慮事項を使用に適用する必要があります。 特に、 LoadMUILibrary によって返されるすべてのハンドルに対して FreeMUILibrary を呼び出す必要があります。 また、 LoadMUILibraryDllMain から呼び出さないでください。 詳細については、「 LoadLibraryEx 」および「 FreeLibrary」の「解説」セクションを参照してください。

注意

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

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー muiload.h
Library Muiload.lib
再頒布可能パッケージ Muiload.lib。Windows 2000 Professional、Windows 2000 Server、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008、Windows 7 で実行できる Windows 7 用のWindows SDKに含まれています。

こちらもご覧ください

FreeMUILibrary

多言語ユーザー インターフェイス

多言語ユーザー インターフェイス関数