OpenColorProfileW 函数 (icm.h)

创建指定颜色配置文件的句柄。 然后,可以在其他配置文件管理功能中使用句柄。

语法

HPROFILE OpenColorProfileW(
  PPROFILE pProfile,
  DWORD    dwDesiredAccess,
  DWORD    dwShareMode,
  DWORD    dwCreationMode
);

parameters

pProfile

指向指定配置文件的颜色配置文件结构的指针。 创建句柄后,即可释放 pProfile 指针。

dwDesiredAccess

指定如何访问给定的配置文件。 此参数必须采用以下常量值之一。

含义
PROFILE_READ
打开配置文件进行读取访问。
PROFILE_READWRITE
打开配置文件进行读取和写入访问。 对 WCS XML 配置文件无效。

dwShareMode

指定如果配置文件包含在文件中,应如何共享配置文件。 值为零会完全阻止共享配置文件。 参数可以包含以下一个或两个常量, (加法或逻辑或) 组合。

含义
FILE_SHARE_READ
可以对配置文件执行其他打开操作,以便进行读取访问。
FILE_SHARE_WRITE
可以对配置文件执行其他打开操作,以便进行写入访问。 对 WCS XML 配置文件无效。

dwCreationMode

指定在打开配置文件时要对配置文件执行的操作(如果该文件包含在文件中)。 此参数必须采用以下常量值之一。

含义
CREATE_NEW
创建新的配置文件。 如果配置文件已存在,则失败。
CREATE_ALWAYS
创建新的配置文件。 覆盖配置文件(如果存在)。
OPEN_EXISTING
打开配置文件。 如果不存在,则失败
OPEN_ALWAYS
打开配置文件(如果存在)。 对于 ICC 配置文件,如果该配置文件不存在,则创建配置文件。 对于 WCS XML 配置文件,如果该配置文件不存在,则返回错误。
TRUNCATE_EXISTING
打开配置文件,将其截断为零字节,返回空白 ICC 配置文件。 如果配置文件不存在,则失败。

返回值

如果此函数成功,则返回值是打开的颜色配置文件的句柄。 对于 ICC 和 WCS 配置文件,CAMP 和 GMMP 由函数基于注册表中的当前默认 CAMP 和 GMMP 提供。

当 OpenColorProfile 遇到带有嵌入式 WCS 配置文件的 ICC 配置文件时,如果 Profile 结构中的 dwType 成员未将值DONT_USE_EMBEDDED_WCS_PROFILES,则应提取并使用 WCS 配置文件 (此 WcsProfilesTag 中包含的) 。 返回的 HPROFILE 将是 WCS HPROFILE。

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

注解

如果未使用文件名指定配置文件数据,则 忽略 dwShareModedwCreationMode

dwCreationMode 标志CREATE_NEW、CREATE_ALWAYS和TRUNCATE_EXISTING将始终返回空白 ICC HPROFIES。 如果存在其他 dwCreationMode 标志,将使用 API) 提供的标志 (调用 InternalOpenColorProfile,以确定配置文件是 ICC 还是 WCS XML。

在 ICC 代码路径中,使用上表中指定的请求共享、访问和创建标志返回 ICC HPROFILE。

在 WCS 路径中,如果配置文件不存在, dwCreationMode 标志OPEN_ALWAYS将失败,因为无法在 WCS 体系结构中创建或编辑 WCS 配置文件, (必须使用 MSXML6) 对其进行编辑。 出于同一原因, dwShareMode 标志FILE_SHARE_WRITE, dwDesiredAccess 标志PROFILE_READWRITE在 WCS 路径中被忽略。

当函数打开 ICC 配置文件时,它将查找 WcsProfilesTag ,如果有,它将提取并使用其中包含的原始 WCS 配置文件。 (请参阅 WcsCreateIccProfile.)

通过从注册表获取默认 CAMP 和默认 GMMP,从 DMP 派生具有 WCS 配置文件信息的 HPROFILE。 HPROFILE 由 DMP、CAMP 和 GMMP 组成。

创建颜色配置文件的句柄后,可以删除用于创建该句柄的任何信息。

使用 CloseColorProfile 函数关闭 OpenColorProfile 返回的对象句柄。

要求

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

另请参阅