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

ENUMRESNAMEPROCA

コールバック

シグネチャ

BOOL ENUMRESNAMEPROCA(
    HMODULE hModule,
    LPSTR lpType,
    LPSTR lpName,
    INT_PTR lParam
);

パラメーター

フィールド型説明
hModuleHMODULE列挙対象のリソースを含む実行可能ファイルを持つモジュールへのハンドルです。このパラメーターが NULL の場合、関数は現在のプロセスの作成に使用されたモジュール内のリソース名を列挙します。
lpTypeLPSTR名前を列挙する対象のリソースの種類です。ポインターの代わりに、このパラメーターには MAKEINTRESOURCE(ID) を指定することもできます。ID は、定義済みのリソースの種類を表す整数値です。標準のリソースの種類については、Resource Types を参照してください。詳細については、後述の「解説」セクションを参照してください。
lpNameLPSTR列挙対象の種類に属するリソースの名前です。ポインターの代わりに、このパラメーターには 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 を定義しています。エンコーディングに中立なエイリアスの使用と、エンコーディングに中立でないコードを混在させると、不一致が生じ、コンパイルエラーや実行時エラーの原因となることがあります。詳細については、関数プロトタイプの規則を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)