我有一个枚举BLE设备及其服务的小程序。 使用 SetupDiGetDeviceProperty 我能够获得这些BLE设备的子服务,或者更确切地说是它们的设备实例路径,如下所示:
BTHLEDevice {00001801-0000-1000-8000-00805f9b34fb} _dbc664e1783f \ 9安培; 1b8d685b和C&安培; 0008
现在,如何在 CreateFile 中使用此路径?我试过把" \\?\"在开头但不起作用, CreateFile 失败, GetLastError 返回3,表示指定的路径不存在。
HANDLE handle = CreateFile(L"\\\\?\\BTHLEDevice{00001801-0000-1000-8000-00805f9b34fb}_dbc664e1783f\\9&1b8d685b&c&0008",
GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_WRITE | FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
NULL,
NULL);
if (handle == INVALID_HANDLE_VALUE) printf("Error: 0x%X\n", GetLastError());
答案 0 :(得分:0)
结果 DEVPKEY_Device_Children 给出的路径不能与CreateFile一起使用。 我能够通过GUID枚举所有接口并输出它们的路径来验证。问题解决了。