问题描述
我有 C++ 代码(适用于 VS6 到 VS2017),用于枚举 USB 设备并检索多个属性。我最近添加了 SPDRP_DEVTYPE
:
SetupDiGetDeviceRegistryProperty(hDevInfo,&DevData,SPDRP_DEVTYPE,0L,(BYTE*) &dwData,4,0);
调用返回'false',GetLastError()
然后返回13
(“数据无效”)。尝试查询 SPDRP_characteristics
时也会发生同样的情况。
我尝试过的大多数其他 PropertyKey
值都运行良好(例如,SPDRP_CAPABILITIES
、SPDRP_PHYSICAL_DEVICE_OBJECT_NAME
、SPDRP_FRIENDLYNAME
等),但这两个值总是失败。>
以管理员身份运行 EXE 不会改变任何内容。我在 Windows 7 (32/64) 和 Windows 10 上进行了测试。
此外,我尝试使用 CreateFile(成功)打开设备,然后使用 DeviceIoControl(),但每次调用 DeviceIoControl 都失败,错误 50“不支持”
知道为什么这些调用不起作用吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)