ttzwater
级别: 驱动小牛
UID: 59817
精华: 0
发帖: 148
威望: 22 点
积分: 1 分
贡献值: 0 点
好评度: 22 点
原创分: 0 分
注册时间:2003-06-07
最后登录:2009-02-06
引用 推荐 编辑 只看 复制 Posted: 2004-03-29 11:34

 请教打印监控的问题

请教一下想监控打印,应该怎么做?说说大致思路就行了

我没作过,我想是不是在打印机驱动的上层加一个Filter驱动程序就行?但是Filter驱动属于WDM驱动好象跟打印机的驱动不是一类的,不知道可不可以这样做?还是在串口之类的硬件端口上加一层?
如果可以的话,是检查Irp包吗?

请大家指教
fossilme
级别: 驱动牛犊
UID: 48158
精华: 0
发帖: 43
威望: 5 点
积分: 4 分
贡献值: 0 点
好评度: 3 点
原创分: 0 分
注册时间:2003-01-24
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-04-30 21:33

 

在print processor那里可以做。
也可以在gdi的绘图引擎那里做。

如果做wdm的filter,那就去看看dispatch吧,也就是你说的irp,这个不难,不过要处理pnp和power。
ttzwater
级别: 驱动小牛
UID: 59817
精华: 0
发帖: 148
威望: 22 点
积分: 1 分
贡献值: 0 点
好评度: 22 点
原创分: 0 分
注册时间:2003-06-07
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-05-03 11:48

 

我想:

如果在print processor那里做的话应该是一对一的(就是只能监控一个打印机),我想要的是个通用的方法


如果在gdi的绘图引擎那里做有些函数是不过那直接到打印驱动的

如果做wdm的filter,就只能是并口,串口,USB,TCP/IP都做


兄弟您的意见呢
snowStart
级别: 驱动老牛
UID: 79702
精华: 0
发帖: 1805
威望: 8 点
积分: 94 分
贡献值: 177 点
好评度: 1 点
原创分: 0 分
注册时间:2004-04-06
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-05-05 23:16

 

如果你只监控送往打印端口的数据,我想使用钩子函数比较简单

[编辑 - 5/5/04 by snowStart]
xychen84
级别: 驱动牛犊
UID: 83101
精华: 0
发帖: 2
威望: 0 点
积分: 0 分
贡献值: 0 点
好评度: 0 点
原创分: 0 分
注册时间:2004-05-21
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-05-30 13:19

 

你觉得钩哪个函数能捕获并口的数据
snowStart
级别: 驱动老牛
UID: 79702
精华: 0
发帖: 1805
威望: 8 点
积分: 94 分
贡献值: 177 点
好评度: 1 点
原创分: 0 分
注册时间:2004-04-06
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-05-30 20:05

 

WritePrinter比较好,因为它跟端口没关系
fslife
级别: 驱动大牛
UID: 84372
精华: 0
发帖: 703
威望: 28 点
积分: 7 分
贡献值: 0 点
好评度: 20 点
原创分: 0 分
注册时间:2004-06-07
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-08-26 17:35

 

我钩了WritePrinter函数,但是发送一个打印任务时,好像根本就没有执行WritePrinter函数。
我测试了钩Spoolsv.exe不行,于是钩了打印程序(例如word),结果还是不行。
请高手指点,谢谢
wowocock
级别: VIP专家组
特殊贡献奖
UID: 21722
精华: 1
发帖: 4971
威望: 1440 点
积分: 579 分
贡献值: 1 点
好评度: 1227 点
原创分: 1 分
注册时间:2002-04-08
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-08-26 20:13

 

参考PRINTMON
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
snowStart
级别: 驱动老牛
UID: 79702
精华: 0
发帖: 1805
威望: 8 点
积分: 94 分
贡献值: 177 点
好评度: 1 点
原创分: 0 分
注册时间:2004-04-06
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-08-26 21:57

 

老兄你什么系统下呀
fslife
级别: 驱动大牛
UID: 84372
精华: 0
发帖: 703
威望: 28 点
积分: 7 分
贡献值: 0 点
好评度: 20 点
原创分: 0 分
注册时间:2004-06-07
最后登录:1970-01-01
引用 推荐 编辑 只看 复制 Posted: 2004-08-27 10:50

 

我是win2000系统
目标就是通过Hook在Spoolsv.exe中拦截不同程序的打印请求。
请高手多多指点了,谢谢!!
快速发帖 顶端
内容
HTML 代码不可用
使用签名
Wind Code自动转换

按 Ctrl+Enter 直接提交