EnumColorProfilesW 函数 (icm.h)

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

Syntax

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

参数

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

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

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

每用户/LUA 支持

枚举特定于当前用户。 系统范围和当前用户设备关联都被视为。 对于默认配置文件配置,当前用户设置将覆盖系统范围。

要求

Requirement 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
Header icm.h
Library Mscms.Lib

另请参阅