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