EnumResourceNamesA 関数 (libloaderapi.h)
バイナリ モジュール内の指定した型のリソースを列挙します。 Windows Vista 以降の場合、これは通常、 言語に依存しないポータブル実行可能ファイル (LN ファイル) であり、列挙には、ローカライズ可能な言語リソースを含む対応する言語固有のリソース ファイル (.mui ファイル) のリソースも含まれます。 hModule で .mui ファイルを指定することもできます。この場合、そのファイルのみがリソースを検索します。
構文
BOOL EnumResourceNamesA(
[in, optional] HMODULE hModule,
[in] LPCSTR lpType,
[in] ENUMRESNAMEPROCA lpEnumFunc,
[in] LONG_PTR lParam
);
パラメーター
[in, optional] hModule
種類: HMODULE
検索するモジュールへのハンドル。 Windows Vista 以降では、これが LN ファイルの場合は、適切な .mui ファイル (存在する場合) が検索に含まれます。
このパラメーターが NULL の場合、これは、現在のプロセスの作成に使用されるモジュールにハンドルを渡すことと同じです。
[in] lpType
型: LPCTSTR
名前が列挙されるリソースの種類。 または、ポインターではなく、このパラメーターに MAKEINTRESOURCE(ID) を指定できます。ここで、ID は定義済みのリソースの種類を表す整数値です。 定義済みのリソースの種類の一覧については、「 リソースの種類」を参照してください。 詳細については、以下の 「解説 」セクションを参照してください。
[in] lpEnumFunc
型: ENUMRESNAMEPROC
列挙されたリソース名または ID ごとに呼び出されるコールバック関数へのポインター。 詳細については、「 ENUMRESNAMEPROC」を参照してください。
[in] lParam
種類: LONG_PTR
コールバック関数に渡されるアプリケーション定義の値。 このパラメーターは、エラー チェックで使用できます。
戻り値
種類: BOOL
戻り値は、関数が成功した場合は TRUE、指定した型のリソースが関数で見つからない場合は FALSE、別の理由で関数が失敗した場合は TRUE です。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
IS_INTRESOURCE(lpszType) が TRUE の場合、lpszType は指定されたリソースの種類の整数識別子を指定します。 それ以外の場合は、null で終わる文字列へのポインターです。 文字列の最初の文字がシャープ記号 (#)の場合、残りの文字はリソースの種類の整数識別子を指定する 10 進数を表します。 たとえば、文字列 "#258" は識別子 258 を表します。
検出されたリソースごとに、 EnumResourceNames はアプリケーション定義のコールバック関数 lpEnumFunc を呼び出し、検索する各リソースの名前または ID と、 EnumResourceNames に渡されたその他のさまざまなパラメーターを渡します。
または、アプリケーションで EnumResourceNamesEx を呼び出すことができます。これにより、列挙されるリソースをより正確に制御できます。
リソースに ID がある場合、ID はコールバック関数に渡されます。それ以外の場合、リソース名はコールバック関数に渡されます。 詳細については、「 ENUMRESNAMEPROC」を参照してください。
EnumResourceNames 関数は、コールバック関数が FALSE を返すか、すべてのリソースが列挙されるまで、リソースを列挙し続けます。
Windows Vista 以降では、 hModule で LN ファイルが指定されている場合、列挙されるリソースは LN ファイル内またはそれに関連付けられている .mui ファイル内に存在できます。 .mui ファイルが見つからない場合は、LN ファイルのリソースのみが返されます。 .mui ファイルが検索される順序は、通常のリソース ローダーの検索順序です。詳細については、「 ユーザー インターフェイス言語管理 」を参照してください。 適切な .mui ファイルが見つかると、.mui ファイルの検索が停止します。 1 つの LN ファイルに対応するすべての .mui ファイルのリソースの種類は同じであるため、見つかった .mui ファイル内のリソースのみを列挙する必要があります。
列挙に重複が含まれることはありません。同じ名前のリソースが LN ファイルと .mui ファイルの両方に含まれている場合、リソースは 1 回だけ列挙されます。
例
例については、「 リソース リストの作成」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 ビルド 20348 |
サポートされている最小のサーバー | Windows 10 ビルド 20348 |
Header | libloaderapi.h |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |