我目前正在开发一个利用专有PCMCIA无线卡与某些无线设备通信的项目。我目前有一个后台进程,处理从卡读取数据和存储它以进行处理,但我希望能够在我的应用程序未运行时关闭卡的电源。我做了一些调查,虽然WMI显然支持其CIM_PCMCIAController
实现中的WIN32_PCMCIAController
个人资料,但SetPowerState()
和Reset()
功能尚未实现。有没有人知道控制插槽电源状态的方式(有或没有WMI)?我需要以编程方式关闭电源并打开插槽或插卡电源。
修改
我说过的几个人建议在卡上添加一个可以促进此功能的功能。不幸的是,现在修改卡以提供这种功能真的不是一种选择。
修改2
我已经确认设备确实显示在“多功能适配器”类别下的设备管理器中,但是从此处禁用设备和PCMCIA控制器本身都不会影响卡的电源。
答案 0 :(得分:1)
我很好奇,但是使用“安全删除硬件......”按钮会关闭设备的电源,足以满足您的要求吗?
如果可行,您可以通过Microsoft的API以编程方式注册和取消注册设备。这是一个页面,显示了可能对此方案有帮助的几个函数:http://msdn.microsoft.com/en-us/library/aa363234(VS.85).aspx
答案 1 :(得分:1)
据推测,该设备有自己的驱动程序,并在设备管理器中显示。
在这种情况下,您可以通过从程序内部调用devcon(命令行等效的设备管理器)来禁用设备。这将使窗口处理关闭设备。
devcon disable。有关如何通过特定设备ID关闭设备的示例,请参见示例#31。
我是在走右路,还是误解了你的问题?