阅读:1458回复:5
使用驱动后不能正常关机的问题?
前两天写了个文件系统过滤的内核驱动,因为不需要所以没用IoCreateDevice这个函数来创建设备,使用安装本地API的方式进行用户程序和驱动的通信,且驱动采用由用户程序来启动的方式。但现在发现用户程序(是一个守护进程,一直在后台运行)在使用驱动后,不能正常关机,原因是系统在结束该用户程序时要花非常长的时间。本来怀疑是用户程序或驱动有问题,但是这两部分单独测试都没问题,且可正常工作和关机。
请教各位大侠这可能是什么问题呢,又怎样去解决?谢了! |
|
|
沙发#
发布于:2004-08-06 09:29
恰恰相反,这里说的是新开一个进程,该进程只负责调用本地API,然后就退出.我可以确定所有对本API函数的调用不存在资源竟争问题,所以应该不是锁的问题. 你调用那些本地API都做了些什么工作? 知道这些或许可以更好的解决你的问题 |
|
|
板凳#
发布于:2004-08-06 09:05
恰恰相反,这里说的是新开一个进程,该进程只负责调用本地API,然后就退出.我可以确定所有对本API函数的调用不存在资源竟争问题,所以应该不是锁的问题.
|
|
|
地板#
发布于:2004-08-05 16:37
是不是你的程序某些资源共享的时候没设置锁
要不怎么单线程就好用了呢? |
|
地下室#
发布于:2004-08-05 16:27
目前这个问题已经初步解决,应用程序使用一个单独的线程来调用本地API,这样就没问题了.这位仁兄既然知道一点原因能不能说得明白一些,或是有更好的解决方法?
|
|
|
5楼#
发布于:2004-08-04 17:51
这是因为其中的某些IRP没有CancelRoutine.
|
|
|