打印机图形 DLL 定义的函数
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 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 的内核模式图形呈现引擎 (GRE) 会调用打印机图形 DLL 定义的所有函数。
DrvEnableDriver 和 DrvQueryDriverInfo 函数由图形 DLL 导出。 所有其他支持的图形 DDI 函数的地址都放在 DrvEnableDriver 函数返回的表中。