1
|
Jon Trauntvein · 技术社区 · 16 年前 |
![]() |
1
4
这更像是一个关于这个问题的问题。调用函数时,传递的第一个参数应该是deviceinfoset,这可能是从 SetupDiGetClassDevs 功能。调用SETUPDIGETCLASSDEVS函数时,为函数上引用Microsoft页面的标志(最后一个参数)指定了什么:
根据您的选择,设备列表会发生更改。例如,当前标志将只显示活动插入的设备。 更新:感谢您提供示例代码。 我现在的问题是,如果您想知道调制解调器的友好名称,为什么不使用相同的呼叫,但指定调制解调器的GUID而不是COM端口?我的调制解调器guid是4d36e96d-e325-11ce-bfc1-08002be10318 在注册表中,我可以看到一个名为“attachedto”的值,它指定了一个COM端口。我必须研究API中的哪些属性。注册表项位于 hklm\system\currentcontrolset\control\class 4d36e96d-e325-11ce-bfc1-08002be10318 \ 另一个更新: 仔细观察示例代码。基于此,如果您尝试获取应返回 SP_DEVICE_INTERFACE_DETAIL_DATA 结构。这并不能提供一种获取设备友好名称的方法。我相信你会想要这个设备实例。 从我读到的内容来看,设备接口被用来作为获取设备路径的一种方法,该路径可用于写入设备。 我做了一件事来测试你的代码,那就是在磁盘设备接口上再试一次。我做了一些修改让它在我的系统上工作,但它还没有完全完成。我认为一个问题(可能更多)是我需要在SETUPDIGETDeviceInterfaceDetail调用之间调整devicePath变量的大小。
此外,在INF中,您可能需要添加 AddInterface 用于将驱动程序与正确接口关联的指令。 |
![]() |
2
1
我不确定以下修补程序是否可以解决您在中提到的问题 http://support.microsoft.com/kb/327868 还有一个有趣的地方:从Win2000起,guid_class_comport已经过时了。 http://msdn.microsoft.com/en-us/library/bb663140.aspx http://msdn.microsoft.com/en-us/library/bb663174.aspx 我发现另一个网站有9种不同的枚举方式。祝你好运。 |
![]() |
3
0
您说您的设备存在并且可以访问,但您是直接访问您的设备还是通过名称和编号访问端口Comn: 我有一个连接到音频驱动程序的WinModem。我没有串行端口,甚至没有模拟端口。 |
![]() |
4
-1
我决定在这个问题上下赌注,去掉对setupdi()函数的依赖。相反,我编写了代码来遍历hkey_local_machine\system\currentcontrolset\enum中的子项,以查找任何支持串行端口guid的驱动程序。我觉得这就是设备管理器所做的。如果有人感兴趣,可以在下面看到我的代码片段:
|
|
vini · 安装wfp内核驱动程序后,devcon状态返回39 2 年前 |
![]() |
I101I · 如何镜像HBITMAP 2 年前 |
![]() |
E235 · 如何查看谁创建了Windows NamedPipe 2 年前 |
![]() |
Pizza Ãcke · 创建带有内存映像的Windows托盘图标 2 年前 |
![]() |
Jabu · 如何获取列表框滚动条“拇指”的高度? 2 年前 |
![]() |
tree1234 · 对可执行文件进行代码设计,并允许修改某些字节 2 年前 |
![]() |
Penachia · PDF FontDescriptor标志 6 年前 |