阅读:1392回复:2
设备管理器使用?
我的应用程序在使用我的驱动程序时,按正常操作,一切正确,但是要是应用程序崩溃或异常关闭后,再次打开我的驱动程序时就打不开了,为什么??
我觉得是设备管理器没有把我的设备释放?本来如果一个设备没有被任何应用程序使用时,设备管理器就会自动把该设备释放.我在用本机的串口时,应用程序崩溃后,设备管理器会自动释放串口,再次打开都正常,我的驱动和串口驱动差不多,为什么我的就不可以? 请问各位高手,如何在应用程序崩溃后,让设备管理器自动释放我的设备??? |
|
|
沙发#
发布于:2003-12-25 11:30
“再次打开我的驱动程序时就打不开了”
是什么错误代码? 另外你能肯定你的驱动程序函数“OPEN”被CALL到了吗? “设备管理器没有把我的设备释放?” 应该不会,因为一般设备释放是由你的驱动程序完成的(如果WINCE提供MDD,而你只负责PDD的话,那就由MDD负责)。所以你能肯定你的驱动程序可以被多次同时OPEN吗?(可以重入吗?) |
|
板凳#
发布于:2003-12-25 16:53
我的驱动程序是可以释放,但要应用层调用CloseHandle()才可以执行我驱动程序里的正常关闭功能,但是应用程序崩溃了.所以就没有释放我的设备?
我怎样才可以让应用程序崩溃后我的设备也被释放呢? 我在设备管理器进程里看到: 打开我的设备 线程 加1,正常关闭:线程 减1 非正常关闭, 线程不变. 而打开本机的 COM1 时, 线程 加1,正常关闭:线程 减1 非正常关闭, 线程也减1 所以应该就是设备管理器没有释放我的设备了.. |
|
|