Win32 API 日本語リファレンス
ホーム › System.LibraryLoader › ENUMRESNAMEPROCW

ENUMRESNAMEPROCW

コールバック

シグネチャ

BOOL ENUMRESNAMEPROCW(
    HMODULE hModule,
    LPWSTR lpType,
    LPWSTR lpName,
    INT_PTR lParam
);

パラメーター

フィールド型説明
hModuleHMODULE列挙対象のリソースを含む実行可能ファイルを持つモジュールのハンドルです。このパラメーターが NULL の場合、現在のプロセスの作成に使用されたモジュール内のリソース名が列挙されます。
lpTypeLPWSTR名前を列挙する対象のリソースの種類です。ポインターの代わりに、このパラメーターには MAKEINTRESOURCE(ID) を指定することもできます。ID は、定義済みのリソースの種類を表す整数値です。標準のリソースの種類については、Resource Types を参照してください。詳細については、後述の「解説」セクションを参照してください。
lpNameLPWSTR列挙対象の種類に属するリソースの名前です。ポインターの代わりに、このパラメーターには MAKEINTRESOURCE(ID) を指定することもできます。ID は、そのリソースの整数識別子です。詳細については、後述の「解説」セクションを参照してください。
lParamINT_PTREnumResourceNames 関数または 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 の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)