ENUMRESNAMEPROCA
コールバックシグネチャ
BOOL ENUMRESNAMEPROCA(
HMODULE hModule,
LPSTR lpType,
LPSTR lpName,
INT_PTR lParam
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hModule | HMODULE | 列挙対象のリソースを含む実行可能ファイルを持つモジュールへのハンドルです。このパラメーターが NULL の場合、関数は現在のプロセスの作成に使用されたモジュール内のリソース名を列挙します。 |
| lpType | LPSTR | 名前を列挙する対象のリソースの種類です。ポインターの代わりに、このパラメーターには MAKEINTRESOURCE(ID) を指定することもできます。ID は、定義済みのリソースの種類を表す整数値です。標準のリソースの種類については、Resource Types を参照してください。詳細については、後述の「解説」セクションを参照してください。 |
| lpName | LPSTR | 列挙対象の種類に属するリソースの名前です。ポインターの代わりに、このパラメーターには MAKEINTRESOURCE(ID) を指定することもできます。ID は、リソースの整数識別子です。詳細については、後述の「解説」セクションを参照してください。 |
| lParam | INT_PTR | EnumResourceNames 関数または EnumResourceNamesEx 関数に渡された、アプリケーション定義のパラメーターです。このパラメーターはエラーチェックに使用できます。 |
公式ドキュメント
EnumResourceNames 関数および EnumResourceNamesEx 関数と共に使用される、アプリケーション定義のコールバック関数です。この関数は、リソースの種類と名前を受け取ります。ENUMRESNAMEPROC 型は、このコールバック関数へのポインターを定義します。EnumResNameProc は、アプリケーション定義の関数名を表すプレースホルダーです。
戻り値
型: BOOL
列挙を続行するには TRUE を、列挙を停止するには FALSE を返します。
解説(Remarks)
IS_INTRESOURCE(lpszType) が TRUE の場合、lpszType は指定されたリソースの種類の整数識別子を表します。それ以外の場合は、NULL 終端文字列へのポインターです。文字列の先頭文字がシャープ記号 (#) の場合、残りの文字は、リソースの種類の整数識別子を指定する 10 進数を表します。たとえば、文字列 "#258" は識別子 258 を表します。
同様に、IS_INTRESOURCE(lpszName) が TRUE の場合、lpszName は指定されたリソースの整数識別子を表します。それ以外の場合は、NULL 終端文字列へのポインターです。文字列の先頭文字がシャープ記号 (#) の場合、残りの文字は、リソースの整数識別子を指定する 10 進数を表します。
アプリケーションは、この関数のアドレスを EnumResourceNames 関数または EnumResourceNamesEx 関数に渡して、この関数を登録する必要があります。
コールバック関数が FALSE を返した場合、EnumResourceNames または EnumResourceNamesEx は列挙を停止し、FALSE を返します。Windows XP 以前では、GetLastError から取得される値は ERROR_SUCCESS になります。Windows Vista 以降では、最後のエラー値は ERROR_RESOURCE_ENUM_USER_STOP になります。
libloaderapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI 版と Unicode 版を自動的に選択するエイリアスとして ENUMRESNAMEPROC を定義しています。エンコーディングに中立なエイリアスの使用と、エンコーディングに中立でないコードを混在させると、不一致が生じ、コンパイルエラーや実行時エラーの原因となることがあります。詳細については、関数プロトタイプの規則を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)