Поделиться через


Функция WcsOpenColorProfileA (icm.h)

Создает дескриптор для указанного цветового профиля.

Синтаксис

HPROFILE WcsOpenColorProfileA(
  PPROFILE pCDMPProfile,
  PPROFILE pCAMPProfile,
  PPROFILE pGMMPProfile,
  DWORD    dwDesireAccess,
  DWORD    dwShareMode,
  DWORD    dwCreationMode,
  DWORD    dwFlags
);

Параметры

pCDMPProfile

Указатель на структуру DMP WCS или структуру цветового профиля ICC, задающую профиль. После создания дескриптора можно освободить указатель pCDMPProfile . Если профиль имеет значение ICC и его член dwType имеет значение DONT_USE_EMBEDDED_WCS_PROFILES, wcsOpenColorProfile игнорирует любой внедренный профиль WCS в профиле ICC.

pCAMPProfile

Указатель на структуру профиля, указывающую профиль модели цветового оформления WCS (CAMP). После создания дескриптора можно освободить указатель pCAMPProfile . Если значение РАВНО NULL, используется по умолчанию CAMP, а при запросе по умолчанию CAMP используется текущий параметр пользователя, WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER.

pGMMPProfile

Указатель на структуру профиля, указывающую профиль модели гаммы WCS (GMMP). После создания дескриптора можно освободить указатель pGMMPProfile . Если значение РАВНО NULL, используется стандарт GMMP по умолчанию для намерения отрисовки по умолчанию, а текущий пользовательский параметр, WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER, используется при запросе GMMP по умолчанию. Описание намерений отрисовки см. в разделе Намерения отрисовки.

dwDesireAccess

Значение флага, указывающее способ доступа к указанному цветовом профилю. Этот параметр должен принимать одно из следующих значений:

Значение Описание
PROFILE_READ Указывает, что цветной профиль открывается для доступа только для чтения.
PROFILE_READWRITE Указывает, что цветной профиль открывается для доступа как для чтения, так и для записи. Значение этого флага игнорируется, если профиль является профилем WCS.

dwShareMode

Значение флага, указывающее действия, выполняемые при открытии цветового профиля, содержащегося в файле. Этот параметр должен принимать одно из следующих значений, определенных в winnt.h:

Значение Описание
FILE_SHARE_READ Указывает, что можно выполнять другие открытые операции (для доступа на чтение) в профиле.
FILE_SHARE_WRITE Указывает, что можно выполнять другие открытые (для доступа на запись) операции с профилем. Это значение флага игнорируется при открытии профиля WCS.

dwCreationMode

Значение флага, указывающее действия, выполняемые при открытии цветового профиля, если он содержится в файле. Этот параметр должен принимать одно из следующих значений, определенных в winbase.h:

Значение Описание
CREATE_NEW Указывает, что создается новый профиль. Эта функция завершается сбоем, если профиль уже существует.
CREATE_ALWAYS Указывает, что создается новый профиль. Если профиль уже существует, он перезаписывается.
OPEN_EXISTING Указывает, что профиль открыт. Эта функция завершается сбоем, если профиль не существует.
OPEN_ALWAYS Указывает, что профиль должен быть открыт, если существует файл Международного консорциума цветов (ICC). Если профиль ICC не существует, WCS создает новый профиль ICC. Функция завершится ошибкой для профилей WCS, если этот флаг установлен и профиль WCS не существует.
TRUNCATE_EXISTING Указывает, что профиль должен быть открыт и усечен до нуля байтов. Если профиль не существует, функция завершается сбоем.

dwFlags

Значение флага, указывающее, следует ли использовать внедренный профиль WCS. Этот параметр не действует, если pCDMProfile не указывает профиль ICC, содержащий внедренный профиль WCS.

Этот параметр принимает одно из следующих значений:

Значение Описание
0 Указывает, что будет использоваться внедренный профиль WCS, а профиль ICC, соответствующий pCDMPProfile, будет игнорироваться.
DONT_USE_EMBEDDED_WCS_PROFILES Указывает, что будет использоваться профиль ICC, заданный pCDMPProfile, а внедренный профиль WCS будет игнорироваться.

Возвращаемое значение

Если эта функция выполнена успешно, возвращаемым значением будет дескриптор открытого цветового профиля.

Если эта функция завершается сбоем, возвращается значение NULL.

Комментарии

Этот API принимает набор DMP, CAMP и GMMP и возвращает дескриптор профиля WCS. Допустимые значения NULL для GMMP. Значение NULL для CAMP будет заменено значением CAMP по умолчанию.

Этот API также будет принимать профили ICC. Использование профиля ICC не гарантирует обработку подсистемой CITE WCS. Подсистема WCS будет использоваться только в том случае, если ему передан хотя бы один профиль WCS. Рабочие процессы pure ICC будут соответствовать поведению прежних версий.

Вы можете использовать дескриптор, возвращающийся этой функцией в других функциях управления цветовым профилем.

Флаги dwCreationMode CREATE_NEW, CREATE_ALWAYS и TRUNCATE_EXISTING всегда возвращают пустые значения HPROFILE ICC. При наличии других флагов dwCreationMode функция определяет, является ли профиль XML-файлом ICC или WCS.

В пути кода ICC HPROFILE возвращается с использованием запрошенных флагов общего доступа, доступа и создания, как указано в таблицах выше.

В пути WCS флаг dwCreationMode OPEN_ALWAYS завершится ошибкой, если профиль не существует, так как профили WCS не могут быть созданы или изменены в архитектуре WCS (они должны быть изменены за ее пределами с помощью MSXML6). По этой же причине флаг dwShareMode FILE_SHARE_WRITE, а флаг dwDesiredAccess PROFILE_READWRITE игнорируются в пути WCS.

После создания дескриптора для цветового профиля все сведения, используемые для создания этого дескриптора, можно удалить.

Используйте функцию CloseColorProfile , чтобы закрыть дескриптор объекта, возвращаемый wcsOpenColorProfile.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть icm.h
Библиотека Mscms.lib
DLL Mscms.dll

См. также раздел