Функция OpenColorProfileW (icm.h)
Создает дескриптор для указанного цветового профиля. Затем дескриптор можно использовать в других функциях управления профилями.
Синтаксис
HPROFILE OpenColorProfileW(
PPROFILE pProfile,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationMode
);
Параметры
pProfile
Указатель на структуру цветового профиля, задающую профиль. Указатель pProfile можно освободить сразу после создания дескриптора.
dwDesiredAccess
Указывает, как получить доступ к заданному профилю. Этот параметр должен принимать одно из следующих значений констант.
Значение | Значение |
---|---|
|
Открывает профиль для доступа на чтение. |
|
Открывает профиль для доступа как для чтения, так и для записи. Не влияет на xml-профили WCS. |
dwShareMode
Указывает способ совместного использования профиля, если профиль содержится в файле. Нулевое значение запрещает общий доступ к профилю. Параметр может содержать одну или обе из следующих констант (в сочетании с добавлением или логическим ИЛИ).
Значение | Значение |
---|---|
|
Другие открытые операции можно выполнять в профиле для доступа на чтение. |
|
Другие открытые операции можно выполнять с профилем для доступа на запись. Не влияет на xml-профили WCS. |
dwCreationMode
Указывает, какие действия следует выполнить с профилем при его открытии, если он содержится в файле. Этот параметр должен принимать одно из следующих значений константы.
Значение | Значение |
---|---|
|
Создает новый профиль. Сбой, если профиль уже существует. |
|
Создает новый профиль. Перезаписывает профиль, если он существует. |
|
Открывает профиль. Сбой, если он не существует |
|
Открывает профиль, если он существует. Для профилей ICC, если профиль не существует, создает профиль. Для xml-профилей WCS, если профиль не существует, возвращает ошибку. |
|
Открывает профиль и усекает его до нуля байтов, возвращая пустой профиль ICC. Сбой, если профиль не существует. |
Возвращаемое значение
Если эта функция выполняется успешно, возвращаемое значение — это дескриптор открытого цветового профиля. Для профилей ICC и WCS функция CAMP и GMMP предоставляется функцией на основе текущих стандартных CAMP и GMMP в реестре.
Если OpenColorProfile обнаруживает профиль ICC со встроенным профилем WCS и если член dwType в структуре Profile не принимает значение DONT_USE_EMBEDDED_WCS_PROFILES, он должен извлечь и использовать профили WCS, содержащиеся в этом wcsProfilesTag. Возвращенный HPROFILE будет HPROFILE WCS.
Если эта функция завершается сбоем, возвращается значение NULL. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Комментарии
Если данные профиля не указаны с помощью имени файла, dwShareMode и dwCreationMode игнорируются.
Флаги dwCreationMode CREATE_NEW, CREATE_ALWAYS и TRUNCATE_EXISTING всегда возвращают пустые значения ICC HPROFILEs. Если присутствуют другие флаги dwCreationMode , вызывается InternalOpenColorProfile (с помощью флагов, предоставленных API), чтобы определить, является ли профиль XML-файлом ICC или WCS.
В пути к коду ICC HPROFILE возвращается с использованием запрошенных флагов общего доступа, доступа и создания, как указано в таблицах выше.
В пути WCS флаг dwCreationMode OPEN_ALWAYS завершится ошибкой, если профиль не существует, так как профили WCS не могут быть созданы или изменены в архитектуре WCS (они должны быть изменены за ее пределами с помощью MSXML6). По этой же причине флаг dwShareMode FILE_SHARE_WRITE и флаг dwDesiredAccess PROFILE_READWRITE игнорируются в пути WCS.
Когда функция открывает профиль ICC, она будет искать WcsProfilesTag и при его наличии извлекать и использовать исходные профили WCS, содержащиеся в нем. (См . WcsCreateIccProfile.)
HPROFILE с данными профиля WCS извлекается из DMP путем получения по умолчанию CAMP и GMMP по умолчанию из реестра. HPROFILE — это композиция DMP, CAMP и GMMP.
После создания дескриптора цветового профиля все сведения, используемые для создания этого дескриптора, можно удалить.
Используйте функцию CloseColorProfile , чтобы закрыть дескриптор объекта, возвращаемый OpenColorProfile.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | icm.h |
Библиотека | Mscms.lib |
DLL | Mscms.dll |