Функция EnumColorProfiles перечисляет все профили, удовлетворяющие данным критериям перечисления.
Синтаксис
BOOL WINAPI EnumColorProfiles( PCTSTR pMachineName, PENUMTYPE pEnumRecord, PBYTE pBuffer, PDWORD pdwSize, PDWORD pnProfiles ); |
pMachineName
Зарезервирован; должен быть НУЛЬ (NULL). Этот параметр предназначается, чтобы указать на имя компьютера, на котором перечисляются профили. Пустой (NULL) указатель указывает локальный компьютер.
pEnumRecord
Указатель на структуру, определяющую критерии перечисления.
pBuffer
Указатель на буфер в который перечисляются профили. Строка MULTI_SZ имени профиля, удовлетворяющая критерии, определенные в параметре *pEnumRecord, должна быть расположена в этом буфере.
pdwSize
Указатель на переменную, содержащую размер буфера, указанный при помощи параметра pBuffer. По возвращению, *pdwSize содержит размер фактически используемого или необходимого буфера.
pnProfiles
Указатель на переменную, которая будет содержать, по возвращению, число имен профиля, фактически скопированных в буфер.
Если эта функция завершается успешно, возвращаемое значение - ИСТИНА (TRUE).
Если эта функция завершается ошибкой, возвращаемое значение - ЛОЖЬ (FALSE). Для дополнительной информации об ошибке, вызовите GetLastError.
Функция EnumColorProfiles может использоваться, чтобы найти профиль по умолчанию для устройства, определяя имя устройства и класс профиля в параметре pEnumRecord. Однако, другой способ найти профиль цвета по умолчанию устройства состоит в том, чтобы создать контекст устройства (DC) для устройства и затем вызвать функцию GetICMProfile.
Когда перечисляются профили, связанные с мониторами, то функцией EnumColorProfiles сначала возвращается профиль по умолчанию.
С принтерами обычно связано несколько профилей, опирающихся на тип бумаги и чернил. Профиля по умолчанию нет. GDI выбирает один из самых лучших связанных профилей, когда приложение создает контекст устройства (DC).
У сканеров также нет профиля по умолчанию. Однако, со сканером можно нестандартно связать более чем один профиль..
Если член dwFields структуры типа ENUMTYPE, который указан при помощи параметра pEnumRecord, установленного в ET_DEVICENAME, то эта функция перечислит все профили цвета, связанные со всеми типами устройств, присоединенных к компьютеру пользователя. Если член структуры dwFields указывает при помощи параметра pEnumRecord, устанавленного в ET_DEVICENAME | ET_DEVICECLASS, и класс устройства, определенный в члене структуры dwDeviceClass, то эта функция перечислит только профили, связанные с классом указанного устройства. Если член структуры dwFields установлен только в ET_DEVICECLASS, то функция EnumColorProfiles перечислит все профили, которые могут связаться с этим типом устройства.
Ваше приложение может использовать функцию EnumColorProfiles, чтобы получить размер буфера в который, перечисляются профили. Оно должно вызвать функцию EnumColorProfiles с параметром pBuffer установленным в НУЛЬ (NULL). Когда функцией возвращается значение, параметр pdwSize будет содержать необходимый размер буфера, в байтах. Ваша программа может использовать эту информацию, чтобы назначить величину буфера перечисления. Она может затем вызвать EnumColorProfiles снова с параметром pBuffer с установленным адресом буфера.
Обзор Основные понятия управления цветом, Функции, используемые ICM, GetICMProfile, ENUMTYPE
Размещение и совместимость EnumColorProfiles |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Нет |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Нет |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Нет |
в | ||
е | ||
р | ||
Используемая библиотека | Mscms.lib | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Icm.h | |
- включено в | - | |
Unicode | Реализуется как версии Unicode и ANSI в Windows 2000/XP | |
Замечания по платформе | Не имеется |