private static async Task<PnpObject> GetHalDevice(params string[] properties)
{
var actualProperties = properties.Concat(new[] { DeviceClassKey, DeviceDriverProviderKey });
var rootDevices = (await PnpObject.FindAllAsync(PnpObjectType.Device, actualProperties, RootContainerQuery));
return rootDevices.FirstOrDefault(rootDevice => IsMicrosoftHal(rootDevice.Properties));
}