win2000 的打印驱动<br><br><br> 打印机驱动程序 <br><br> 打印机驱动程序与标准的WIN2000驱动程序有以下几点不同: <br><br> 1.假脱机: 一个打印工作在传送到物理打印机之前先传送到假脱机,因为物理打印机的速度太慢。 <br><br> 2.远程操作: 物理打印机通常被连接到一个远程计算器上,这里用到RPC. <br><br> 3.不定的打印协议: 不同的打印机当然有不同的打印协议。 <br><br> 假脱机部分如图1.6所示,以后不再重复说明,阴影部分为WIN2000所有,如果假脱机被击活,打印工作先被假脱机纪录进一个文件,假脱机像打印机一样退出队列,而后变的可用,这时数据才被传入本地或者远程的打印机驱动。 <br><br> <br>图1.5 打印机驱动程序的假脱机 <br><br> 客户端的假脱机部分(winspool.drv 或者 Win32spl.DLL(远程打印时)),是一个以RPC为基础的程序,它连接服务端(Spoolsv.exe)和假脱机的API函数。 <br><br> 服务端的代码依赖路由服务器(spoolss.dll),这个路由服务器连接一个打印提供者,打印提供者是指定的打印机服务或者驱动程序的抽象。打印提供者创建和管理一个指定的打印工作队列。一个简单的打印提供者可以向整个打印机类提供服务,本地,远程,网络的打印提供者都被包含在WIN2000中。 <br><br> 不同的打印机,网络协议有时需要特殊的打印提供者,例如: Novell INC 提供给WIN2000设计了一个直接输出到网络打印服务的打印提供者。 <br><br> GDI必须转换程序的画图命令成为打印机使用的特殊格式,GDI依靠打印机驱动程序工作, 打印机驱动程序由打印机绘图DLL和打印机接口DLL组成。 <br><br> 打印机绘图DLL负责给指定的打印机转换数据,在WIN2000中,打印机绘图DLL可以放置在用户模式或者内核模式中,用户模式放置在可以产生高的系统可靠性和灵活的配置。 <br><br> 打印机绘图DLL的接口函数的前缀是Drv,这些接口函数在GDI转换命令时被调用。 <br><br> 打印机绘图DLL负责依照用户的参数配置打印机设备,例如: 多进纸盒的打印机需要被设定缺省的纸张大小和进纸盒。打印机绘图DLL通过构建一个或者多个配置窗体的形式提供给用户接口,这些配置窗体上有一些标准的Windows控件,通过它可以方便的配置打印机。