Windows UWP BLE DeviceInformation.CreateWatcher генерирует ошибку синтаксиса ключа свойства - PullRequest
0 голосов
/ 07 декабря 2018

У нас есть настольное приложение Windows, использующее некоторые функции UWP Bluetooth LE UWP.Мы запускаем наблюдателя:

string BTLEDeviceWatcherAQSString = "(System.Devices.Aep.ProtocolId:=\"{bb7bb05e-5972-42b5-94fc-76eaa7084d49}\")";
string[] props = { "System.Devices.Aep.DeviceAddress", "System.Devices.Aep.IsConnected", "System.Devices.Aep.Bluetooth.Le.IsConnectable"};
watcher = DeviceInformation.CreateWatcher(BTLEDeviceWatcherAQSString, props, DeviceInformationKind.AssociationEndpoint);

На большинстве машин он работает нормально, только редко у нас есть анонимный журнал ошибок:

System.Exception: Element not found. Property key syntax error. A property key must either be specified as a canonical property name (preferred) or be of the form {fmtid} pid.
at Windows.Devices.Enumeration.DeviceInformation.CreateWatcher(String aqsFilter, IEnumerable`1 additionalProperties, DeviceInformationKind kind) 

Мы запускаем этот код для Windows 10.0.15063 (т.е.1703) или выше, поэтому все свойства должны быть доступны в doc.

Что может вызвать эту ошибку?Некоторые настройки HW или настройки Windows 10?

1 Ответ

0 голосов
/ 19 декабря 2018

Я видел это исключение в настольном приложении Windows WPF.Причина была в том, что я пренебрег обнаружением ревизии Windows 10, которая была больше, чем версия создателей AKA версии 1703.Поэтому любой, кто запускает приложение в более ранней версии Windows 10, увидит эту ошибку.К сожалению, ошибка настолько неясна, что лучше не поддерживать ошибку.

...