EnumResourceTypesW 函数 (winbase.h)

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

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

语法

BOOL EnumResourceTypesW(
  [in, optional] HMODULE          hModule,
  [in]           ENUMRESTYPEPROCW 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 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

概念性

EnumResTypeProc

EnumResourceLanguages

EnumResourceNames

EnumResourceTypesEx

引用

资源