EnumResourceTypesA 函数 (winbase.h)

枚举二进制模块中的资源类型。 从 Windows Vista 开始,这通常是 语言中性可移植可执行文件(LN 文件),枚举还包括来自相应语言特定资源文件(.mui 文件)(如果存在)的资源(如果存在)。 还可以使用 hModule 指定 .mui 文件,在这种情况下,仅搜索该文件的资源类型。

或者,应用程序可以调用 EnumResourceTypesEx,从而更准确地控制要枚举的资源文件。

语法

BOOL EnumResourceTypesA(
  [in, optional] HMODULE          hModule,
  [in]           ENUMRESTYPEPROCA lpEnumFunc,
  [in]           LONG_PTR         lParam
);

参数

[in, optional] hModule

类型:HMODULE

要搜索的模块的句柄。 此句柄必须通过 LoadLibraryLoadLibraryEx获取。

有关详细信息,请参阅“备注”。

如果此参数 NULL,则相当于将句柄传递给用于创建当前进程的模块。

[in] lpEnumFunc

类型:ENUMRESTYPEPROC

指向要为每个枚举资源类型调用的回调函数的指针。 有关详细信息,请参阅 EnumResTypeProc 函数。

[in] lParam

类型:LONG_PTR

传递给回调函数的应用程序定义值。

返回值

类型:BOOL

如果成功,则返回 TRUE;否则,FALSE。 若要获取扩展的错误信息,请调用 GetLastError

言论

对于找到的每个资源类型,EnumResourceTypes 调用应用程序定义的回调函数 lpEnumFunc,传递它找到的每个资源类型,以及传递给 EnumResourceTypes的各种其他参数。

EnumResourceTypes 继续枚举资源类型,直到回调函数返回 FALSE 或所有资源类型已枚举为止。

从 Windows Vista 开始,如果 hModule 指定一个 LN 文件,则枚举的类型对应于驻留在 LN 文件和与之关联的 .mui 文件中的资源。 如果未找到 .mui 文件,则仅返回 LN 文件中的类型。 搜索 .mui 文件的顺序是通常的资源加载程序搜索顺序;有关详细信息,请参阅 用户界面语言管理。 找到一个适当的 .mui 文件后,搜索不会继续到与 LN 文件关联的其他 .mui 文件,因为与单个 LN 文件对应的所有 .mui 文件具有相同的资源类型集。

枚举永远不会包含重复项:如果给定的资源类型同时包含在 LN 文件和 .mui 文件中,则仅枚举该类型一次。

例子

有关示例,请参阅 创建资源列表

注意

winbase.h 标头将 EnumResourceTypes 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 winbase.h (包括 Windows.h)
Kernel32.lib
DLL Kernel32.dll

另请参阅

概念

EnumResTypeProc

EnumResourceLanguages

EnumResourceNames

EnumResourceTypesEx

参考

资源