次の方法で共有


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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー muiload.h
ライブラリ Muiload.lib
再頒布可能パッケージの Windows 2000 Professional、Windows 2000 Server、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008、Windows 7 で実行できる Windows SDK for Windows 7 に含まれる Muiload.lib。

関連項目

FreeMUILibrary

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

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