定制微软的打印机驱动程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定制微软的打印机驱动程序 2 推荐微软统一驱动程序(Unidrv及微软PostScript打印机驱动程序(Pscript的设计都是基于Windows? NT/Windows? 2000打印机驱动程序体系结构。因此,每一个都是由两部分构成——即一个打印机接口DLL和一个打印机图形DLL。本章讲述怎样定制这些组件。 为提供对Unidrv或Pscript的打印机接口DLL的定制,必须提供一个或多个用户接口的插件。可以使用这些插件来修改驱动程序的用户接口,并对某个打印机事件提供附加的处理。 为提供对Unidrv或Pscript的打印机图形DLL的定制,必须提供一个或多个绘制插件。可以用这些插件去修改将要发送到打印机假脱机中的在打印机作业数据流中的数据。 本章也解释了怎样实现打印机驱动程序的COM接口,它被插件用于与打印机驱动程序之间的通讯,也解释了如何安装定制的驱动程序组件。 7.1用户接口插件 这一节包含如下一些解释怎样开发用户接口插件的主题: 7.1.1用户接口插件介绍 7.1.2UI插件的例子 7.1.3UI插件的COM接口 7.1.4提供DEVMODE结构附加项 7.1.5从UI插件存取驱动程序设置 7.1.6修改一个驱动程序提供的属性表单页面 7.1.7增加新的属性表单页面 7.1.8定制其他的打印机接口操作 7.1.1用户接口插件介绍 当增加对一新的微软统一驱动程序(Unidrv或者微软Postscript打印机驱动程序(Pscript打印机设备的支持,可以通过修改打印机的属性表单或文档的属性表单来定制驱动程序的用户接口。 可以通过提供一个用户模式的DLL来完成这些,这一DLL即指的是用户接口的插件,或称UI插件。 一个UI插件可以通过增加、删除、或者替换在属性表单中的“设备设置(Device Settings”页面的选项来修改打印机属性表单。它也可以增加新的页面。同样,插件可以通过增加、删除、替换在属性表单的“布局(Layout”、“纸张/质量(Paper/Quality”、“高级(Advanced”页面的选项来修改文档属性表单,或者它也可以增加新页。 UI插件被称为Unidrv或Pscript的打印机接口DLL,用了一套COM接口。打印机接口DLL是通过使用CPSUI来实现的,并且一个UI插件通过驱动程序的打印机接口DLL与CPSUI进行间接的交互。因此,在开发UI插件之前,阅读CPSUI一章是非常有益的。 除修改打印机驱动程序的用户接口外,一个UI插件可以执行其他的操作,如处理某个打印机事件并报告被支持的能力。更多的信息,请参考定制其他打印机接口操作部分的内容。 7.1.2 UI插件的例子 在该DDK中提供了用户接口插件的源代码实例。其代码包含在\oemui源代码目录的子目录中,并且创建了一个可以与Unidrv使用的插件。 7.1.3 UI插件的COM接口 下面的COM接口是为微软打印机驱动程序与UI插件之间的通讯定义的: IPrintOEMUI COM Interface——允许为Unidrv或Pscript的打印机接口DLL调用UI插件。 IPrintOemDriverUI COM Interface——对UI插件提供实用的操作。 7.1.3.1 IPrintOemUI COM 接口 IPrintOemUI COM接口实际提供了一种Unidrv或Pscript的打印机接口DLL与UI插件通讯的一种手段。IPrintOemUI COM由每一个UI插件来实现的。 下面的表格列出并描述了所有的由IPrintOemUI接口提供的方法。UI插件必须定义所有列出来的方法。如果一种方法不需要,它可以只返回E_NOTIMPL。 方法 描述 IPrintOEMUI::CommonUIProp 允许一个用户接口插件修改一个已经存在的属性表单页面或者文档的属性表单页面 IPrintOEMUI::DeviceCapabilities 允许一个用户插件去指定定制的设备能力 IPrintOEMUI::DevicePropertySheets 允许一个用户插件给一个打印机设备的打印机属性表单增加新页 IPrintOEMUI::DevMode 在一个用户接口插件上执行操作的私有DEVMODE成员 IPrintOEMUI::DevQueryPrintEx 允许一个用户插件帮助确定是否一个打印作业是可打印的 IPrintOEMUI::DocumentPropertysheets 允许一个用户插件给一个打印机设备的文档属性表单增加新页面 IPrintOEMUI::DriverEvent 在处理驱动程序专用的、需要打印机驱动程序行为的事件时,由打印假脱机调用 IPrintOEMUI::FontInstallerDlgProc 替换Unidrv字体安装

文档评论(0)

3344483cc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档