阅读:2342回复:9
DrvTextOut 的问题哟! w
那有 vnc驱动的source code 呀,
我怎么只下载到 应用层的呀! 不过我又出现了问题,就是 DrvTextOut 怎么不是每次都 调用啊! 好象 是 gdiinfo 的设置除了问题? 可是 gdiinfo.flTextCaps 我加了 TC_SCROLLBLT呀,但gdi还是用 drvcopybits, drvbltbit来做了! 就在 ie 窗口, .net 的编辑 窗口 等等,很多呢!如我用一个 窗口在 ie的网页 窗口里 移动,mirror 的 drvtextout 不能被调用 呵呵,还有 就做 filter driver 则 该怎么做了?(在drvenabledriver 里 怎么 让 old driver 失效,在filter driver 的drvtextout 里怎么调用以前的 drvtextout呢?还有好象也没有介绍这的资料,如果有 告一下哟!)应该不会出现这个问题, 还有一个 没有 证实的问题,就是在 mirror 驱动里 如果让 drvtextout 堵塞,gdi 会 抛弃 其它 的绘制 动作吗?还是 在起动作队列 里等待! |
|
沙发#
发布于:2004-09-02 16:28
VNC的驱动是没有代码的,我是反汇编他的代码研究的。
|
|
|
板凳#
发布于:2004-09-02 22:50
wowocock 大哥
能留个 qq 号 或 e-mail 之类的 通讯方式吗? 有几个 mirror driver 的问题想你请教哟! |
|
地板#
发布于:2004-09-03 11:32
MSN:wowocock@hotmail.com
不过对于MIRROR我也不是很懂,可以问ALLZHEN那家伙,他好象很精通的 |
|
|
地下室#
发布于:2004-09-03 12:15
谢谢了 wowocock 大哥
就是 GDI 不总是 调用 DrvTextOut 我的 pGdiInfo->flTextCaps = TC_RA_ABLE| TC_OP_CHARACTER|TC_OP_STROKE|TC_CP_STROKE|TC_CR_90|TC_CR_ANY|TC_SF_X_YINDEP|TC_SA_DOUBLE|TC_SA_INTEGER|TC_SA_CONTIN|TC_EA_DOUBLE|TC_RA_ABLE|TC_SCROLLBLT|TC_SF_X_YINDEP|TC_UA_ABLE|TC_SO_ABLE|TC_IA_ABLE; 晕死 我全选了! pDevInfo->flGraphicsCaps|=(GCAPS_ARBRUSHOPAQUE|GCAPS_ARBRUSHTEXT|GCAPS_LAYERED|GCAPS_VECTORFONT|GCAPS_OPAQUERECT|GCAPS_HIGHRESTEXT|GCAPS_GRAY16|GCAPS_FONT_RASTERIZER); 只要 与DrvTextOut 沾边 我也 全选,按理 说,我的DrvTextOut对 文本 绘制的 能力 已经 够了啊, 问题是 在某些 时候 是用 DrvCopyBits ……来 代替 DrvTextOut的,后来 我又是 用DrvCreateDeviceBitmap 创建的 设备管理 表面,应该 GDI就 不会在 虚拟 桌面 绘好了 Text,然后 镜像成 DrvBitBlt+DrvCopyBits 呀,搞不懂啊! ddk 的 display driver 都 看了n 遍了,各位 大哥指点一下? |
|
5楼#
发布于:2004-09-03 13:28
这个我也不清楚,系统会把很多调用转成DrvBitBlt+DrvCopyBits 来处理,什么原因我也不清楚,郁闷。。。。。。
|
|
|
6楼#
发布于:2004-09-03 14:29
当窗口移动的时候,系统只调用DrvCopyBit或DrvBitBlt来拷贝。这和Win32编程是一样的:当你移动窗口时并没有收到WM_PAINT消息,而你改变窗口大小的时候才会收到WM_PAINT。
[编辑 - 9/3/04 by leerom] |
|
|
7楼#
发布于:2004-09-03 15:44
leerom
呵呵,谢谢你! 其实在 Win32 下 用 ReDrawWindow(……)等等 也是这样, 不管 你说的 MoveWindow 是 是否 有 wm_paint 消息 其实 是有的 , 可以 用 bmsg hwnd msgid 跟踪到的 我的意思 是 :如你在 .net 的编辑窗口 你 打字 等等,DrvTextOut 都是 没有调用的,设置 无效 区域 ,重画 也是这样, GDI 绘好之后 才 转换 成 DrvBitBlt+DrvCopyBits 给驱动处理, 估计是为了 加速, 但我要如何才能 阻止 GDI的 这种行为呢? |
|
8楼#
发布于:2004-09-03 16:38
DEVINFO中还有几项与DrvTextOut有关的设置,不知你设定了没有?
|
|
|
9楼#
发布于:2004-09-03 17:34
还有啊?
说说看,哎,还问一下? 哪个 driver chain 是 和 filter driver 一样的技术吗? 好像 microsoft 有个 dcm(driver chain manager )什么的1 |
|