terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:14427回复:41

W2kPrintDrvSample v0.01 released

楼主#
更多 发布于:2004-01-06 22:00
W2kPrintDrvSample

Copyright (C) 2004, terrificskyfox <terrificskyfox@yahoo.com.cn>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.


这是一个非常简单的Win2k下的打印驱动程序,用于将各种文档转换为bmp文件。

驱动程序的主体架构基于Win2k DDK中的oemdll例子,实现的功能和Win98 DDK中的cbitmap例子类似。

具体的说明见README.txt

附件说明:
1.使用Winzip(WinRar)解压
2.使用visual source safe Admin的restore project功能将.ssa文件导入就可以使用了


[编辑 -  1/6/04 by  terrificskyfox]
附件名称/大小 下载次数 最后更新
2004-01-06_W2kPrintDrvSample.zip (106KB)  1235

最新喜欢:

yyy2k3yyy2k3 vblue130vblue1... wheretowheret... wzbhbbwzbhbb
terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-07 08:44
文件用始末工具打开, 楼主


附件说明中我不是写了么
你有没有安装Visual studio中的Visual Source Safe 6.0,
如果没有,先装一个吧 :D
如果有,就使用它的Admin工具,在Archive菜单下,用restore project来恢复就可以了

visual source safe 就是一个类似gnu/linux下的cvs工具,版本维护系统
terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-07 09:14
为了方便部分不会使用或者没有使用Visual Source Safe的朋友,
提供一个直接打包的版本,解开就可以使用。

注意:ui和uni中有部分文件是共享的,要保证它们被同步更新,在
文件头中有@file lib/filename这类标注的就是共享文件。

附件名称/大小 下载次数 最后更新
2004-01-07_W2kPrintDrvSample_src.zip (91KB)  1167
terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-01-08 19:32
太夸张了,受不起啊

如果大家有兴趣,可以提出自己对这个软件的建议并参与到它的开发和维护中来

建立一个真正的通用型的驱动程序框架
terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-01-09 19:35
不知y兄的开发是什么概念,如果是每天泡在论坛上挨个回文章,那我真是不会
terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-01-10 14:29
如果你的打印驱动是基于unidrv的,并且使用gdi管理的surface,除非具体的设备有特殊的图像格式等方面的要求,一般具体的绘图任务都是回调给gdi的。

在解决具体的技术环节之前,必须对打印驱动的工作流程有一个清晰的认识。基于unidrv,使用gdi管理表面的驱动程序一般都有这样的处理流程:

enabledriver
enablePDEV-----init PDEV structure

startdoc
startpage
if(use banding)
{
   startbanding
   while(NOT at the end of page)
   {
      drawing(blt, path or text)
        (pre-process, callback to unixxx, post-process)
      nextband
      if(use imageprocess)
      {
          imageprocess----可以在这里得到bmp数据
                          使用这个函数时注意和gpd file的配合
      }
   }
}
else
{
   drawing(blt, path or text)
     (pre-process, callback to unixxx, post-process)
   sendpage
   if(use imageprocess)
   {
      imageprocess
   }
}
enddoc

disablePDEV
disabledriver

在清晰的了解了驱动程序的基本处理过程之后在深入的解决具体的技术环节,比上来什么都不清楚就过多地讨论细节要好的多。

上面的流程可以有很多的变化,不过这些变化主要集中在drawing部分的pre-process、post-process和imageprocess(可以用IPrintOemUni接口的其它函数替代)部分,主体的框架基本就是这样。

另外还可以将数据压缩等等加入到上面的流程当中。

需要注意的是驱动程序是否使用banding是动态决定的,取决于数据量的大小,因此在nextband和sendpage函数中都要做好输出数据的准备。

具体函数的使用方法你可以参考msdn文档中的相关部分。
msdn->windows development->driver development kit->display and print drivers->print drivers and spool components
里面有非常多重要的信息,你先把它们仔细研究一下吧
尤其是print driver architecture(打印驱动的基本结构)、customizing microsoft print drivers(定制方法)和microsoft unidrv print driver(讲gpd file)这三部分

你现在应该比较清楚在哪里做什么了


[编辑 -  1/10/04 by  terrificskyfox]

[编辑 -  1/10/04 by  terrificskyfox]
terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-02-12 19:32
我现在用Oct 2003的,2003年的应该都有,2000的不清楚,可能路径
不同,内容肯定是存在的。

不行你也可以用2000ddk自带的帮助文件,一样的东西,最新的msdn
中增加的内容大部分都是关于WinXP和Win2003 server的,影响不大。


请问你使用的MSDN什么版本?我在的是2000版,怎么找不到你说的内容?


[编辑 -  2/12/04 by  terrificskyfox]
terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-07 22:08
在打印机属性页的“纸张/质量”页面中选择“颜色”就可以了


请问这个程序里面如何设置打印彩色位图?我的QQ14272692,我想请教一下你!

[编辑 -  9/7/04 by  jjryu]
游客

返回顶部