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


Функция GetICMProfileA (wingdi.h)

Функция GetICMProfile извлекает имя файла текущего цветового профиля вывода для указанного контекста устройства.

Синтаксис

BOOL GetICMProfileA(
  HDC     hdc,
  LPDWORD pBufSize,
  LPSTR   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

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