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 函数返回 pvProfileData 指向的缓冲区中的 ICC 配置文件的文件名。
QCP_PROFILEMEMORY 函数在 pvProfileData 指向的缓冲区中返回配置文件数据。

返回值

如果操作成功,函数将返回 TRUE;否则,它将返回 FALSE

注解

打印机接口 DLL 可以选择提供 DrvQueryColorProfile 函数。 如果提供了函数,如果为打印作业启用了 ICM,GDI 将调用它。 函数的目的是确定并指定适合用于打印作业的 ICC 配置文件。

如果驱动程序的打印机接口 DLL 不提供 DrvQueryColorProfile 函数,或者该函数返回 FALSE,GDI 将尝试查找配置文件。 有关详细信息,请参阅 查找 ICC 配置文件

如果 由 (ERROR_INSUFFICIENT_BUFFER) ProfileData 指定的输出缓冲区大小太小,驱动程序应用所需的缓冲区大小覆盖 由印刷机 提供的大小值,调用 SetLastError (ERROR_INSUFFICIENT_BUFFER) ,并返回 FALSE

要求

要求
目标平台 桌面
标头 winddiui.h (包括 Winddiui.h)