WinAPI - CreateFile失败,蓝牙LE服务的路径无效

时间:2015-05-19 13:58:07

标签: windows winapi bluetooth-lowenergy

我有一个枚举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());

1 个答案:

答案 0 :(得分:0)

结果 DEVPKEY_Device_Children 给出的路径不能与CreateFile一起使用。 我能够通过GUID枚举所有接口并输出它们的路径来验证。问题解决了。