在Windows中,打印机驱动的作用是编写一组接口。应用程序调用的GDI函数会变成相应的DDI函数,打印机驱动提供的这组接口负责将DDI函数转变为打印机识别的的指令。至于是通过网口、串口等接口与真实打印机相连接,这是Printer Moniter的职责,而不是Printer Driver的职责。

打印机驱动一般分为两个部分。
1.printer graphics DLL
2.Printer Interface DLL
printer graphics DLL和Printer Interface DLL都已经编号,并留有plugin的接口。程序员可以编写相应的plugin。

由于Microsoft提供了Universal Printer Driver,所以编写驱动变得比较简单。
增强Universal Printer Driver可以分为三个部分:
1.增加一个叫做GPD的文件,这个文本定义了一些参数,Universal Printer Driver会读取这个文件,这个文件又被称作是Mini Driver。
2.printer graphics DLL相关的plugin被称为Rendering Plug-Ins。
3.Printer Interface DLL相关的plugin被称为User Interface Plug-Ins。

打印机驱动需要完成如下接口:
DevQueryPrintEx
DrvConvertDevMode
。。。
DrvUpgradePrinter
这几个函数在Universal Printer Driver中分别在UNIDRVUI.DLL和UNIDRV.DLL分别实现。

版权声明:本文为fanzi2009原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fanzi2009/archive/2010/09/06/1406587.html