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 据我所知,设备接口被用来获取可用于写入的设备路径。 为了测试你的代码,我做了一件事,就是在磁盘设备接口上重试。我做了一些更改,让它在我的系统上运行,但还没有完全完成。我认为一个问题(可能更多)是,我需要在SetupDiGetDeviceInterfaceDetails调用之间调整DevicePath变量的大小。
此外,在INF中,您可能需要添加 AddInterface |
![]() |
2
1
|
![]() |
3
0
|
![]() |
4
-1
我决定押注于此,并消除对SetupDi()函数的依赖。相反,我编写了遍历HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum中的子键的代码,以查找支持串行端口GUID的任何驱动程序。我有一种感觉,这就是设备管理器所做的。如果有人感兴趣,我的代码片段可以在下面看到:
|
|
ArcPro · 如何使用vfio读写SSD 2 年前 |
![]() |
agent.smith · 将物理地址映射到虚拟地址linux 13 年前 |
![]() |
Fleck · 设备驱动程序未调用Xxx_Init 13 年前 |