哪些客户使用驱动程序?

时间:2011-04-13 00:49:29

标签: c++ c windows-ce

我需要其中一个驱动程序空闲(加载到设备上,但根本没有使用)来获取一些统计信息。我需要确保没有线程/客户端正在使用该驱动程序。我试图看看是否有办法实现这一点,所以我可以编程方式杀死/停用正在使用驱动程序以确保它处于空闲状态的客户端/线程(如果有)。请建议。

2 个答案:

答案 0 :(得分:1)

如果您使用的是Windows Embedded Compact 7,则可以使用可以插入正在测试的驱动程序前面的过滤器驱动程序。过滤器驱动程序可以防止任何呼叫到达您的驱动程序,从而有效地使您的驱动程序空闲。

过滤器驱动程序是Compact 7中的一项新功能,因此如果您使用的是旧版本,它将无法帮助您。有关过滤器驱动程序的介绍,请参阅http://embedded101.com/Articles/Embedded101Article/tabid/75/ArticleId/28/Filter-Device-Drivers.aspx

答案 1 :(得分:0)

我不完全明白。如果您编写了驱动程序,那么您就是every entry point into the driver的守门人。您可以允许/禁止客户端根据需要调用(例如,信号量,互斥,布尔标志等)。你会知道是否有人在“使用”驱动程序,因为可能有人打电话给Open而不是关闭。或者输入一个像Read或Write这样的方法但尚未退出。