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


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

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

Синтаксис

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

Параметры

pCDMPProfile

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

pCAMPProfile

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

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 не гарантирует обработку подсистемой WCS CITE. Подсистема WCS будет использоваться только в том случае, если ему передан хотя бы один профиль WCS. Рабочие процессы Pure ICC будут согласованы с устаревшим поведением.

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

Флаги dwCreationMode CREATE_NEW, CREATE_ALWAYS и TRUNCATE_EXISTING всегда возвращают пустые значения ICC HPROFILE. При наличии других флагов 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

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