Windows 按GUID打开设备

Windows 按GUID打开设备,windows,file-io,driver,guid,Windows,File Io,Driver,Guid,我正试图使用供应商提供的软件包访问物理设备 在早期版本的软件包中,他们让用户通过DOS符号名打开设备: hDevice= CreateFile("\\\\.\\DevName", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_ExiSTING, 0, NULL); 然而,他们发布了一个新版本,要求设备通过GUID打开,并且在标题中包含一个DEFINE\u GUID。此更新还禁用了打开设备的旧方法 他们没有更新他们的文档来显示如何通过

我正试图使用供应商提供的软件包访问物理设备

在早期版本的软件包中,他们让用户通过DOS符号名打开设备:

hDevice= CreateFile("\\\\.\\DevName", 
    GENERIC_READ | GENERIC_WRITE, 
    0, NULL, OPEN_ExiSTING, 0, NULL);
然而,他们发布了一个新版本,要求设备通过GUID打开,并且在标题中包含一个
DEFINE\u GUID
。此更新还禁用了打开设备的旧方法

他们没有更新他们的文档来显示如何通过GUID打开设备,我也没有找到任何有助于我的googlefu的东西


肯定有一个例子展示了如何使用GUID打开设备?

您现在可能已经了解了,但是对于在对象管理器名称空间中进行搜索非常方便。一旦你找到了你在那里寻找的对象的名字,就应该很容易找到正确的答案

供应商很可能给了您一个“设备接口GUID”。 要获取可用于
CreateFile()
的名称,必须枚举具有该GUID的所有设备。这是通过调用带有标志的
DIGCF\u DEVICEINTERFACE
SetupDiGetClassDevs()
来完成的。结果列表由设备信息集(HDEVINFO)的句柄表示。然后将该句柄输入到对
SetupDiEnumDeviceInterfaces()
的重复调用中,以遍历列表。对于每个列表项,您必须调用
SetupDiGetDeviceInterfaceDetail()
,以接收相应的设备路径