ENUMRESNAMEPROCW
コールバックシグネチャ
BOOL ENUMRESNAMEPROCW(
HMODULE hModule,
LPWSTR lpType,
LPWSTR lpName,
INT_PTR lParam
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hModule | HMODULE | 列挙対象のリソースを含む実行可能ファイルを持つモジュールのハンドルです。このパラメーターが NULL の場合、現在のプロセスの作成に使用されたモジュール内のリソース名が列挙されます。 |
| lpType | LPWSTR | 名前を列挙する対象のリソースの種類です。ポインターの代わりに、このパラメーターには MAKEINTRESOURCE(ID) を指定することもできます。ID は、定義済みのリソースの種類を表す整数値です。標準のリソースの種類については、Resource Types を参照してください。詳細については、後述の「解説」セクションを参照してください。 |
| lpName | LPWSTR | 列挙対象の種類に属するリソースの名前です。ポインターの代わりに、このパラメーターには 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 を定義しています。エンコード中立のエイリアスの使用と、エンコード中立でないコードを混在させると、不一致が生じてコンパイルエラーや実行時エラーの原因になることがあります。詳細については、Conventions for Function Prototypes を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)