OpenColorProfileW 函数 (icm.h)
创建指定颜色配置文件的句柄。 然后,可以在其他配置文件管理功能中使用句柄。
语法
HPROFILE OpenColorProfileW(
PPROFILE pProfile,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationMode
);
parameters
pProfile
指向指定配置文件的颜色配置文件结构的指针。 创建句柄后,即可释放 pProfile 指针。
dwDesiredAccess
指定如何访问给定的配置文件。 此参数必须采用以下常量值之一。
值 | 含义 |
---|---|
|
打开配置文件进行读取访问。 |
|
打开配置文件进行读取和写入访问。 对 WCS XML 配置文件无效。 |
dwShareMode
指定如果配置文件包含在文件中,应如何共享配置文件。 值为零会完全阻止共享配置文件。 参数可以包含以下一个或两个常量, (加法或逻辑或) 组合。
值 | 含义 |
---|---|
|
可以对配置文件执行其他打开操作,以便进行读取访问。 |
|
可以对配置文件执行其他打开操作,以便进行写入访问。 对 WCS XML 配置文件无效。 |
dwCreationMode
指定在打开配置文件时要对配置文件执行的操作(如果该文件包含在文件中)。 此参数必须采用以下常量值之一。
值 | 含义 |
---|---|
|
创建新的配置文件。 如果配置文件已存在,则失败。 |
|
创建新的配置文件。 覆盖配置文件(如果存在)。 |
|
打开配置文件。 如果不存在,则失败 |
|
打开配置文件(如果存在)。 对于 ICC 配置文件,如果该配置文件不存在,则创建配置文件。 对于 WCS XML 配置文件,如果该配置文件不存在,则返回错误。 |
|
打开配置文件,将其截断为零字节,返回空白 ICC 配置文件。 如果配置文件不存在,则失败。 |
返回值
如果此函数成功,则返回值是打开的颜色配置文件的句柄。 对于 ICC 和 WCS 配置文件,CAMP 和 GMMP 由函数基于注册表中的当前默认 CAMP 和 GMMP 提供。
当 OpenColorProfile 遇到带有嵌入式 WCS 配置文件的 ICC 配置文件时,如果 Profile 结构中的 dwType 成员未将值DONT_USE_EMBEDDED_WCS_PROFILES,则应提取并使用 WCS 配置文件 (此 WcsProfilesTag 中包含的) 。 返回的 HPROFILE 将是 WCS HPROFILE。
如果此函数失败,则返回值为 NULL。 有关扩展的错误信息,请调用 GetLastError。
注解
如果未使用文件名指定配置文件数据,则 忽略 dwShareMode 和 dwCreationMode 。
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 |