阅读:1426回复:2
急救!如何从驱动中向应用程序的视CView类发消息?
用了GetSafeHwnd()获得的句柄,一发出消息就死机。我改用全局事件同步线程,同样出现死机的问题。可是我的测试程序,基于对话框的程序却非常正常。怎么办?请高手急救啊!
|
|
|
沙发#
发布于:2002-01-18 09:19
98下面吗?你用什么发消息?
|
|
|
板凳#
发布于:2002-01-18 12:06
我用的是Win95的操作系统,驱动用的是VtoolsD做的Vxd。
发消息用的是shell_postmessage,可是每次从视类向驱动 传递消息句柄的时候都会死机,而且好像不是蓝屏那种,而 是显示器中间变成窄的灰白色,跟下去好像是在DeviceIOControl 的下面一句的messagebox()那儿死掉的。 请问用Event事件是怎么做的,我现在做了一个测试程序, 是基于对话框类的,在硬件板中断来了以后,可以向等待的 线程用事件同步,但是发现一个问题,就是在大概300多次中 断响应(在softice下面看到的,我用的dout显示中断的次数) ,可是实际上线程好像只运行了6次,难道事件响应不比消息 的实时性要好么,怎么会出现这种情况呢。因为我实在没有 办法的情况下采用事件的。我的原来的测试程序同样的基于 对话框的,从应用中给Vxd传消息句柄和主窗口句柄,响应 完全正确。可是我的正式程序是在CFormView里面实现的, 这样的话,一旦执行向Vxd传送句柄,就会死机。 我实在是不明白了。 为什么从视类的函数里面向外面发Vxd传送句病就会死掉呢。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 由于时间比较紧,不可能对程序的整体框架做大的改动, 我该怎么办呢。中断响应不上,数据采不回来啊。 请大侠给解决一下啊!急急得说。 |
|
|