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


Функция 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 (include Winddiui.h)