Функция GetICMProfile извлекает имя файла текущего профиля выводимого цвета для указанного контекста устройства.
Синтаксис
BOOL WINAPI GetICMProfile( HDC hDC, LPDWORD lpcbName, LPTSTR lpszFilename ); |
Параметры
hDC
Определяет контекст устройства из которого извлекается профиль цвета.
lpcbName
Указатель на двойное слово (DWORD), которое содержит размер буфера, указанный при помощи параметра lpszFilename. Для версии ANSI этой функции, размер находится в байтах. Для версии Unicode, размер находится в WCHARs. Если эта функция завершается успешно, по возвращению, этот параметр содержит размер буфера, фактически используемого. Однако, если буфер не является достаточно большим, эта функция возвращает ЛОЖЬ (FALSE). В этом случае, функцией GetLastError () возвращается ERROR_INSUFFICIENT_BUFFER, а двойное слово (DWORD) указанное при помощи этого параметра, содержит размер, необходимый для буфера lpszFilename.
lpszFilename
Указывает на буфер, который получает имя пути профиля.
Если эта функция завершается успешно, возвращаемое значение - ИСТИНА (TRUE). Она также возвращает значение ИСТИНА (TRUE), если параметр lpszFilename - НУЛЬ (NULL), а размер, требуемый для буфера копируется в lpcbName.
Если эта функция завершается ошибкой, возвращаемое значение - ЛОЖЬ (FALSE).
Функция GetICMProfile получает имя файла текущего выходного профиля независимо от того, действительно ли управление цветом допускается для контекста устройства.
Учитывая контекст устройства, функция GetICMProfile выведет, через параметр lpszFilename, имя пути файла, содержащего в себе профиль цвета, в настоящее время использующийся контекстом устройства. Она также выведет, через параметр lpcbName, длину строки, содержащую имя пути.
Возможно, что имени профиля, возвращенного функцией GetICMProfile не будет в списке профилей, возвращенных функцией EnumICMProfiles. Функция EnumICMProfiles возвращает значения всех профилей цветового пространства, которые связаны с контекстом устройства (DC) и набор параметров настройки, которые из этого контекста устройства. Если функция SetICMProfile используется, чтобы установить текущий профиль, то она может связаться с контекстом устройства (DC), который не соответствует его параметрам настройки. Например, функция SetICMProfile может использоваться, чтобы связать не зависящий от устройства профиль sRGB с контекстом устройства (DC). Этот профиль используется как текущий профиль технологии ICM для этого контекста устройства (DC) и вызовы функции GetICMProfile возвратят имя его файла. Однако, профиль не будет появляться в списке профилей, который возвращается функцией EnumICMProfiles.
Если эта функция вызвана перед любыми вызовами функции SetICMProfile, то она может использоваться, чтобы получить профиль по умолчанию для контекста устройства.
Windows 95/98/Me: GetICMProfileW поддерживается Microsoft Layer for Unicode. Чтобы использовать это, Вы должны добавить определенные файлы к вашему приложению, как выделено в Microsoft Layer for Unicode для системы Windows 95/98/Me.
Обзор Основные понятия управления цветом, Функции, используемые ICM, EnumICMProfiles, SetICMProfile
Размещение и совместимость GetICMProfile |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Нет |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Нет |
в | ||
е | ||
р | ||
Используемая библиотека | Gdi32.lib | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Wingdi.h | |
- включено в | - | |
Unicode | Реализуется как версии Unicode и ANSI для Windows 2000/XP. Также поддерживает Microsoft Layer for Unicode. | |
Замечания по платформе | Не имеется |