EnumResourceNamesExA 関数 (libloaderapi.h)
指定したバイナリ モジュールに関連付けられている指定した型のリソースを列挙します。 検索には、LN ファイルとそれに関連付けられている .mui ファイルの両方を含めることができます。または、いくつかの方法で制限できます。
構文
BOOL EnumResourceNamesExA(
[in, optional] HMODULE hModule,
LPCSTR lpType,
[in] ENUMRESNAMEPROCA lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
パラメーター
[in, optional] hModule
種類: HMODULE
検索するモジュールへのハンドル。 通常、これは LN ファイルであり、フラグ RESOURCE_ENUM_MUI が設定されている場合は、適切な .mui ファイルが検索に含まれます。 または、.mui ファイルまたはその他の LN ファイルへのハンドルを指定することもできます。
このパラメーターが NULL の場合、現在のプロセスの作成に使用されるモジュールにハンドルを渡すのと同じです。
lpType
種類: LPCSTR
名前が列挙されるリソースの種類。 または、ポインターではなく、このパラメーターに MAKEINTRESOURCE(ID) を指定できます。ここで、ID は定義済みのリソースの種類を表す整数値です。 定義済みのリソースの種類の一覧については、「 リソースの種類」を参照してください。 詳細については、以下の「解説」セクションを参照してください。
[in] lpEnumFunc
型: ENUMRESNAMEPROC
列挙されたリソース名ごとに呼び出されるコールバック関数へのポインター。 詳細については、「 EnumResNameProc」を参照してください。
[in] lParam
種類: LONG_PTR
コールバック関数に渡されるアプリケーション定義の値。 このパラメーターは、エラー チェックで使用できます。
[in] dwFlags
型: DWORD
検索するファイルの種類。 次の値がサポートされています。 dwFlags が 0 の場合は、RESOURCE_ENUM_LNフラグとRESOURCE_ENUM_MUI フラグが指定されているものと見なされることに注意してください。
値 | 説明 |
---|---|
|
通常のリソース ローダー戦略に従って、 hModule で指定された LN ファイルと現在の言語設定に関連付けられている .mui ファイル内のリソースを検索します ( 「ユーザー インターフェイス言語管理」を参照)。 または、 LangId が 0 以外の場合は、指定した .mui ファイルのみが検索されます。 通常、このフラグは 、hModule が LN ファイルを参照している場合にのみ使用する必要があります。 hModule が .mui ファイルを参照している場合、そのファイルは、フラグの名前にもかかわらず、実際には RESOURCE_ENUM_LN フラグによってカバーされます。 |
|
ファイルが LN ファイルであるか、別の種類の LN ファイルであるか、.mui ファイルであるかに関係なく、 hModule で指定されたファイルを検索します。 |
|
列挙の実行中に、リソース セクションとその参照に対して追加の検証を実行し、リソースが適切に書式設定されていることを確認します。 検証では、列挙される名前ごとに 260 文字の上限が設定されます。 |
[in] LangId
種類: LANGID
MUI モジュールで検索をフィルター処理するために使用されるローカライズ言語。 このパラメーターは、dwFlags でRESOURCE_ENUM_MUI フラグが設定されている場合にのみ使用されます。 ゼロを指定すると、通常のリソース ローダー戦略に従って、現在の言語設定に一致するすべての .mui ファイルが検索に含まれます ( 「ユーザー インターフェイス言語管理」を参照)。 0 以外の LangId が 指定されている場合、検索される .mui ファイルは、指定した LangId と一致するものになります。
戻り値
種類: BOOL
関数 が成功 した場合は TRUE、指定した型のリソースが関数で見つからない場合は FALSE、別の理由で関数が失敗した場合は FALSE 。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
IS_INTRESOURCE(lpszType) が TRUE の場合、lpszType は指定されたリソースの種類の整数識別子を指定します。 それ以外の場合は、null で終わる文字列へのポインターです。 文字列の最初の文字がシャープ記号 (#)の場合、残りの文字は を指定する 10 進数を表します。
リソースの種類の整数識別子。 たとえば、文字列 "#258" は識別子 258 を表します。
列挙検索には、LN ファイルとそれに関連付けられている .mui ファイルの両方を含めることができます。 任意の型の 1 つのバイナリ モジュールに制限できます。 また、1 つの LN ファイルに関連付けられている .mui ファイルに制限することもできます。 hModule パラメーターに LN ファイルを指定し、0 以外の LangId パラメーターを指定すると、その LN ファイルと言語に関連付けられている一意の .mui ファイルに検索を制限できます。
検出されたリソースごとに、 EnumResourceNamesEx はアプリケーション定義のコールバック関数 lpEnumFunc を呼び出し、検索する各リソースの名前または ID と、 EnumResourceNamesEx に渡されたその他のさまざまなパラメーターを渡します。
リソースに ID がある場合、ID はコールバック関数に返されます。それ以外の場合、リソース名はコールバック関数に返されます。 詳細については、「 EnumResNameProc」を参照してください。
EnumResourceNamesEx 関数は、コールバック関数が FALSE を返すか、この型のすべてのリソース名が列挙されるまで、リソース名を列挙し続けます。
hModule が LN ファイルを指定し、両方のフラグが選択されている場合、列挙される名前は、その LN ファイルまたはそれに関連付けられている .mui ファイルに存在するリソースに対応します。 .mui ファイルが見つからない場合は、LN ファイルの名前のみが返されます。 1 つの適切な .mui ファイルが見つかったら、1 つの LN ファイルに対応するすべての .mui ファイルのリソース名が同じであるため、検索は続行されません。
dwFlags と LangId の両方が 0 の場合、関数は EnumResourceNames のように動作します。
LangId が 0 以外の場合は、その言語識別子に対応する .mui ファイルのみが検索されます。 言語フォールバックは使用されません。 その言語の .mui ファイルが存在しない場合、列挙は空になります (その言語のリソースが LN ファイルに存在し、LN ファイルも検索するようにフラグが設定されている場合を除きます)。
列挙に重複が含まれることはありません。特定の言語のリソースが LN ファイルと .mui ファイルの両方に含まれている場合、名前は 1 回だけ列挙されます。
例
例については、「 リソース リストの作成」を参照してください。
注意
libloaderapi.h ヘッダーは EnumResourceNamesEx をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | libloaderapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |
関連項目
概念
リファレンス