问一个驱动动态加载卸载的问题??

ambition   2009-9-28 14:22 楼主
1. 我知道使用ActivateDeviceEx()加载,用DeactivateDevice()卸载
但是我要做的是:给用户一个程序,选择打开后动态加载一个驱动,然后用户把程序关了,并在不想用的时候再打开这个程序选择关闭把驱动卸了,如何一直保留ActivateDeviceEx()返回的handle值??

2. 可以使用setdevicepower之类让wifi驱动切换Dx,但又什么方法通过程序开关wifi可以使下次开机时仍保留上次的状态(已实现hive)?我看有的wince系统选择打开wifi后在控制面板->电池中可以看到wifi为D0,选择关闭后就没有wifi了,这是怎么做到的?动态加载卸载驱动吗?

回复评论 (6)

问题1我知道了,可以createfile然后GetDeviceInformationByFileHandle获得handler
问题2期待大家的解答~
点赞  2009-9-28 14:29
为什么没人回答的
点赞  2009-9-28 16:54
在开关函数里面定义一个标志变量
static unsigned char device_state=0;

if(device_state==0)
{
   打开
    device_state=1;
}
else
{
   关闭
   device_state=0;
}
点赞  2009-9-28 16:59
不用获得handler那么麻烦,还需要在函数外面进行处理.
静态变量专门干这事
点赞  2009-9-28 17:00
程序都关掉了静态变量还怎么保存
点赞  2009-9-28 17:42
引用: 引用 5 楼 csdeny 的回复:
程序都关掉了静态变量还怎么保存

在注册表中配置一个标记用来做这个事情
点赞  2009-9-28 21:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复