打印机图形 DLL 定义的函数

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) ,自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅 打印支持应用设计指南

与所有图形驱动程序一样,打印机图形 DLL 负责定义以下图形 DDI 函数。 在 DrvEnableDriver(初始驱动程序入口点)之后,其余函数按字母顺序列出。 请注意,由于 GDI 按名称调用 DrvEnableDriver ,因此其名称以粗体显示。 GDI 通过 DrvEnableDriver 返回的函数指针数组调用所有其他显示驱动程序函数。

函数名称 说明
DrvEnableDriver 允许驱动程序初始化自身并返回指向支持的图形 DDI 函数的指针。
DrvCompletePDEV 为驱动程序提供设备实例的 GDI 句柄。
DrvDisableDriver (可选) 允许驱动程序在卸载之前执行清理操作。
DrvDisablePDEV 允许驱动程序删除特定于设备实例的信息。
DrvDisableSurface 允许驱动程序删除绘图图面。
DrvEnablePDEV 允许驱动程序为 GDI 提供物理设备特征并初始化特定于设备实例的信息。
DrvEnableSurface 允许驱动程序创建绘图图面。
DrvQueryDeviceSupport (可选) 返回请求的设备特定信息。
DrvQueryDriverInfo (可选) 返回请求的特定于驱动程序的信息。

打印机图形 DLL 还负责定义以下特定于打印的图形 DDI 函数,这些函数在呈现打印作业期间的某些点调用。

函数 调用时
DrvEndDoc 当 GDI 完成将文档发送到驱动程序进行呈现时。
DrvNextBand (可选) GDI 完成为物理页面绘制带时,以便驱动程序可以将带发送到打印机。
DrvQueryPerBandInfo (可选) GDI 开始为物理页面绘制带区之前,因此驱动程序可以提供 GDI 特定带区的信息。
DrvSendPage 当 GDI 完成绘制物理页面时,驱动程序可以将页面发送到打印机。
DrvStartBanding (可选) 当 GDI 准备好开始向驱动程序发送物理页面的波段进行呈现时。
DrvStartDoc 当 GDI 准备好开始将文档发送到驱动程序进行呈现时。
DrvStartPage 当 GDI 准备好开始将文档页发送到驱动程序进行呈现时。

通常,打印机图形 DLL 还定义完成打印作业呈现所需的任何其他图形 DDI 函数。 定义的函数的数量和类型取决于:

  • 驱动程序支持使用 GDI 管理的绘图图面或设备管理的绘图图面 (或两者) 。 有关详细信息,请参阅 Surface 类型

  • 绘制操作可由 GDI 而不是由驱动程序本身执行的程度。 有关详细信息,请参阅 使用图形 DDI

打印机图形 DLL 定义的所有函数都由 GDI 的内核模式图形呈现引擎 (GRE) 调用。

DrvEnableDriverDrvQueryDriverInfo 函数由图形 DLL 导出。 所有其他受支持的图形 DDI 函数的地址放置在 由 DrvEnableDriver 函数返回的表中。