EnumColorProfilesW 函数 (icm.h)

枚举满足给定枚举条件的所有配置文件。

语法

BOOL EnumColorProfilesW(
  PCWSTR     pMachineName,
  PENUMTYPEW pEnumRecord,
  PBYTE      pEnumerationBuffer,
  PDWORD     pdwSizeOfEnumerationBuffer,
  PDWORD     pnProfiles
);

parameters

pMachineName

保留。 必须为 NULL。 此参数旨在指向要枚举配置文件的计算机的名称。 NULL 指针指示本地计算机。

pEnumRecord

指向指定枚举条件的结构的指针。

pEnumerationBuffer

指向要枚举配置文件的缓冲区的指针。 满足 *pEnumRecord 中指定的条件的MULTI_SZ配置文件名称字符串将放置在此缓冲区中。

pdwSizeOfEnumerationBuffer

指向包含 pBuffer 指向的缓冲区大小的变量的指针。 返回时, *pdwSize 包含实际使用或所需的缓冲区大小。

pnProfiles

指向变量的指针,该变量将在返回时包含实际复制到缓冲区的配置文件名称数。

返回值

如果此函数成功,则返回值为 TRUE

如果此函数失败,则返回值为 FALSE。 有关扩展的错误信息,请调用 GetLastError

注解

根据纸张和墨迹类型,多个配置文件通常与打印机相关联。 每个设备都有一个默认配置文件。 对于国际颜色联盟 (ICC) 配置文件,当应用程序 (DC) 创建设备上下文时,GDI 会从与 ICC 关联的配置文件中选择最佳配置文件。

请勿尝试使用 EnumColorProfiles 来确定设备的默认配置文件。 请改为为设备创建设备上下文,然后调用 GetICMProfile 函数。 在 Windows Vista 和 Windows 7 上, WcsGetDefaultColorProfile 函数也可用于确定设备的默认颜色配置文件。

如果 pEnumRecord 参数指向的 ENUMTYPE 类型结构的 dwFields 成员设置为 ET_DEVICENAME,则此函数将枚举与连接到用户计算机的所有设备类型关联的所有颜色配置文件,而不考虑设备类。 如果 pEnumRecord 参数指向的结构的 dwFields 成员设置为 ET_DEVICENAME 或 ET_DEVICECLASS并在结构的 dwDeviceClass 成员中指定了设备类,则此函数将仅枚举与指定设备类关联的配置文件。 如果 dwFields 成员仅设置为 ET_DEVICECLASS, 则 EnumColorProfiles 函数将枚举可与该设备类型关联的所有配置文件。

每当 EnumColorProfiles 检查与特定设备关联的配置文件时,结果取决于用户是选择使用与该设备关联的系统范围的配置文件列表,还是其自己的 (“per-user”) 列表。 调用 WcsSetUsePerUserProfiles 且其 usePerUserProfiles 参数设置为 TRUE 会导致将来对 EnumColorProfiles 的调用仅查看当前用户的指定设备的配置文件关联列表。 调用 WcsSetUsePerUserProfiles 且其 usePerUserProfiles 参数设置为 FALSE 会导致将来调用 EnumColorProfiles 查看指定设备的配置文件关联的系统范围列表。 如果从未为当前用户调用 WcsSetUsePerUserProfiles则 EnumColorProfiles 将检查系统范围的列表。

应用程序可以使用 EnumColorProfiles 获取枚举配置文件的缓冲区的大小。 它应调用 EnumColorProfiles 函数,并将 pBuffer 参数设置为 NULL。 当函数返回时, pdwSize 参数将包含所需的缓冲区大小(以字节为单位)。 程序可以使用该信息来分配枚举缓冲区。 然后,它可以再次调用 EnumColorProfiles ,并将 pBuffer 参数设置为缓冲区的地址。

此函数将提供用于将特定于 WCS 的 DMP 信息转换为启用一致配置文件枚举中的旧 EnumType 记录的信息。 如果此信息不存在,则默认值将与 ICC 相同。

每用户/LUA 支持

枚举特定于当前用户。 同时考虑系统范围和当前用户设备关联。 对于默认配置文件配置,当前用户设置将覆盖系统范围的用户设置。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 icm.h

另请参阅