Функция GetICMProfileW (wingdi.h)
Функция GetICMProfile извлекает имя файла текущего цветового профиля вывода для указанного контекста устройства.
Синтаксис
BOOL GetICMProfileW(
HDC hdc,
LPDWORD pBufSize,
LPWSTR pszFilename
);
Параметры
hdc
Указывает контекст устройства, из которого извлекается цветовой профиль.
pBufSize
Указатель на DWORD , содержащий размер буфера, на который указывает lpszFilename. Для версии ANSI этой функции размер в байтах. Для версии Юникода размер находится в WCHAR. Если эта функция выполнена успешно, при возврате этот параметр содержит размер фактически используемого буфера. Однако если буфер недостаточно велик, эта функция возвращает значение FALSE. В этом случае функция GetLastError() возвращает ERROR_INSUFFICIENT_BUFFER, а DWORD , на который указывает этот параметр, содержит размер, необходимый для буфера lpszFilename .
pszFilename
Указывает на буфер, получающий имя пути профиля.
Возвращаемое значение
Если эта функция завершается успешно, возвращается значение TRUE. Он также возвращает значение TRUE , если параметр lpszFilename имеет значение NULL и размер, необходимый для буфера, копируется в lpcbName.
Если эта функция завершается сбоем, возвращается значение FALSE.
Комментарии
GetICMProfile получает имя файла текущего профиля вывода независимо от того, включено ли управление цветом для контекста устройства.
С учетом контекста устройства GetICMProfile выводит с помощью параметра lpszFilename путь к файлу, который содержит цветовой профиль, используемый в настоящее время контекстом устройства. Он также выводит с помощью параметра lpcbName длину строки, содержащей имя пути.
Возможно, имя профиля, возвращаемое Командлетом GetICMProfile , не будет в списке профилей, возвращаемых EnumICMProfiles. Функция EnumICMProfiles возвращает все профили цветового пространства, связанные с контекстом устройства (DC), параметры которого совпадают с параметрами контроллера домена. Если функция SetICMProfile используется для задания текущего профиля, профиль может быть связан с контроллером домена, который не соответствует его параметрам. Например, функцию SetICMProfile можно использовать для связывания аппаратно-независимого профиля sRGB с контроллером домена. Этот профиль будет использоваться в качестве текущего профиля WCS для этого контроллера домена, а вызовы GetICMProfile возвращают его имя файла. Однако профиль не будет отображаться в списке профилей, возвращаемых enumICMProfiles.
Если эта функция вызывается до любых вызовов функции SetICMProfile , ее можно использовать для получения профиля по умолчанию для контекста устройства.
Windows 95/98/Me: GetICMProfileW поддерживается Microsoft Layer для Юникода. Для этого необходимо добавить в приложение определенные файлы, как описано в разделе Microsoft Layer for Unicode в Системах Windows 95/98/Me.
Примечание
Заголовок wingdi.h определяет GetICMProfile в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h |
Библиотека | Gdi32.lib |
DLL | Gdi32.dll |