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


Функция DrvQueryColorProfile (winddiui.h)

Функция DrvQueryColorProfile позволяет библиотеке DLL интерфейса принтера указать профиль ICC, используемый для управления цветом.

Синтаксис

BOOL DrvQueryColorProfile(
        HANDLE    hPrinter,
  [in]  PDEVMODEW pdevmode,
        ULONG     ulQueryMode,
  [out] VOID      *pvProfileData,
  [out] ULONG     *pcbProfileData,
  [out] FLONG     *pflProfileData
);

Параметры

hPrinter

Дескриптор принтера, предоставленный вызывающим абонентом.

[in] pdevmode

Предоставленный вызывающим указателем на структуру DEVMODEW .

ulQueryMode

Один из следующих битовых флагов, предоставляемых вызывающим объектом, указывающий тип профиля, который необходимо указать.

Флаг Определение
QCP_DEVICEPROFILE Вызывающий объект запрашивает профиль устройства.
QCP_SOURCEPROFILE Вызывающий объект запрашивает исходный профиль.

[out] pvProfileData

Предоставленный вызывающим объектом указатель на буфер для получения сведений профиля.

[out] pcbProfileData

Предоставленный вызывающим объектом указатель на значение, представляющее размер буфера в байтах, на который указывает pvProfileData.

[out] pflProfileData

Один из следующих битовых флагов, предоставляемых функцией, указывающий тип сведений, возвращаемых функцией.

Флаг Определение
QCP_PROFILEDISK Функция возвращает имя файла профиля ICC в буфере, на который указывает pvProfileData.
QCP_PROFILEMEMORY Функция возвращает данные профиля в буфере, на который указывает pvProfileData.

Возвращаемое значение

Если операция выполнена успешно, функция возвращает значение TRUE; В противном случае возвращается значение FALSE.

Комментарии

Библиотека DLL интерфейса принтера может дополнительно предоставить функцию DrvQueryColorProfile. Если функция указана, GDI вызывает ее, если для задания печати включенА функция ICM. Функция предназначена для определения и указания профиля ICC, который подходит для использования с заданием печати.

Если библиотека DLL интерфейса принтера драйвера не предоставляет функцию DrvQueryColorProfile или если функция возвращает значение FALSE, GDI пытается найти профиль. Дополнительные сведения см. в разделе Поиск профилей ICC.

Если размер выходного буфера, указанный параметром pcbProfileData , слишком мал, драйвер должен перезаписать значение размера, предоставленное pcbProfileData , требуемым размером буфера, вызвать SetLastError(ERROR_INSUFFICIENT_BUFFER) и вернуть значение FALSE.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть winddiui.h (включая Winddiui.h)