public async Task <IHidDevice> FromIdAsync(string deviceId, HidDeviceAccessMode accessMode, CancellationToken cancellationToken = new CancellationToken()) { var uwpAccessMode = ConvertAccessMode(accessMode); var device = await HidDevice.FromIdAsync(deviceId, uwpAccessMode).AsTask(cancellationToken); if (device == null) { throw new InvalidOperationException("Can't create device"); } return(new UwpHidDevice(device)); }
private static Win32HidDevice FromId([NotNull] string deviceId, HidDeviceAccessMode accessMode, [CanBeNull] Win32HidDeviceInformation knownInformation) { if (deviceId == null) throw new ArgumentNullException(nameof(deviceId)); switch (accessMode) { case HidDeviceAccessMode.Read: return Win32HidDevice.FromPath(deviceId, ACCESS_MASK.GenericRight.GENERIC_READ, knownInformation); case HidDeviceAccessMode.Write: return Win32HidDevice.FromPath(deviceId, ACCESS_MASK.GenericRight.GENERIC_WRITE, knownInformation); case HidDeviceAccessMode.ReadWrite: return Win32HidDevice.FromPath(deviceId, ACCESS_MASK.GenericRight.GENERIC_READ | ACCESS_MASK.GenericRight.GENERIC_WRITE, knownInformation); default: throw new ArgumentException("Access mode not supported: " + accessMode, nameof(accessMode)); } }
static FileAccessMode ConvertAccessMode(HidDeviceAccessMode mode) { switch (mode) { case HidDeviceAccessMode.Read: return(FileAccessMode.Read); case HidDeviceAccessMode.Write: return(FileAccessMode.ReadWrite); case HidDeviceAccessMode.ReadWrite: return(FileAccessMode.ReadWrite); default: throw new ArgumentOutOfRangeException(nameof(mode), mode, "Unknown mode"); } }
static FileAccessMode ConvertAccessMode(HidDeviceAccessMode mode) { switch (mode) { case HidDeviceAccessMode.Read: return FileAccessMode.Read; case HidDeviceAccessMode.Write: return FileAccessMode.ReadWrite; case HidDeviceAccessMode.ReadWrite: return FileAccessMode.ReadWrite; default: throw new ArgumentOutOfRangeException(nameof(mode), mode, "Unknown mode"); } }
public async Task<IHidDevice> FromIdAsync(string deviceId, HidDeviceAccessMode accessMode, CancellationToken cancellationToken = new CancellationToken()) { var uwpAccessMode = ConvertAccessMode(accessMode); HidDevice device = null; await uiDispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { device = HidDevice.FromIdAsync(deviceId, uwpAccessMode).AsTask(cancellationToken).Result; }); if (device == null) { throw new InvalidOperationException("Can't create device"); } return new UwpHidDevice(device); }
private static Win32HidDevice FromId([NotNull] string deviceId, HidDeviceAccessMode accessMode, [CanBeNull] Win32HidDeviceInformation knownInformation) { if (deviceId == null) { throw new ArgumentNullException(nameof(deviceId)); } switch (accessMode) { case HidDeviceAccessMode.Read: return(Win32HidDevice.FromPath(deviceId, ACCESS_MASK.GenericRight.GENERIC_READ, knownInformation)); case HidDeviceAccessMode.Write: return(Win32HidDevice.FromPath(deviceId, ACCESS_MASK.GenericRight.GENERIC_WRITE, knownInformation)); case HidDeviceAccessMode.ReadWrite: return(Win32HidDevice.FromPath(deviceId, ACCESS_MASK.GenericRight.GENERIC_READ | ACCESS_MASK.GenericRight.GENERIC_WRITE, knownInformation)); default: throw new ArgumentException("Access mode not supported: " + accessMode, nameof(accessMode)); } }
public Task <Win32HidDevice> FromIdAsync(string deviceId, HidDeviceAccessMode accessMode, CancellationToken cancellationToken = default(CancellationToken)) { return(FromIdAsync(deviceId, accessMode, null, cancellationToken)); }
internal Task <Win32HidDevice> FromIdAsync(string deviceId, HidDeviceAccessMode accessMode, [CanBeNull] Win32HidDeviceInformation knownInformation, CancellationToken cancellationToken) { return(TaskEx.Run(() => FromId(deviceId, accessMode, knownInformation), cancellationToken)); }
Task<IHidDevice> IHidDeviceFactory.FromIdAsync(string deviceId, HidDeviceAccessMode accessMode, CancellationToken cancellationToken) { return FromIdAsyncInferface(deviceId, accessMode, null, cancellationToken); }
public Task <Win32HidDevice> OpenDeviceAsync(HidDeviceAccessMode accessMode = HidDeviceAccessMode.ReadWrite, CancellationToken cancellationToken = default(CancellationToken)) { return(Win32HidDeviceFactory.Instance.FromIdAsync(Path, accessMode, this, cancellationToken)); }
Task <IHidDevice> IHidDeviceInformation.OpenDeviceAsync(HidDeviceAccessMode accessMode, CancellationToken cancellationToken) { return(Win32HidDeviceFactory.Instance.FromIdAsyncInferface(Path, accessMode, this, cancellationToken)); }
public Task <IHidDevice> OpenDeviceAsync(HidDeviceAccessMode accessMode = HidDeviceAccessMode.ReadWrite, CancellationToken cancellationToken = new CancellationToken()) { return(factory.FromIdAsync(Id, accessMode, cancellationToken)); }
public Task<IHidDevice> OpenDeviceAsync(HidDeviceAccessMode accessMode = HidDeviceAccessMode.ReadWrite, CancellationToken cancellationToken = new CancellationToken()) { return factory.FromIdAsync(Id, accessMode, cancellationToken); }
public Task<Win32HidDevice> FromIdAsync(string deviceId, HidDeviceAccessMode accessMode, CancellationToken cancellationToken = default(CancellationToken)) { return FromIdAsync(deviceId, accessMode, null, cancellationToken); }
internal Task<Win32HidDevice> FromIdAsync(string deviceId, HidDeviceAccessMode accessMode, [CanBeNull] Win32HidDeviceInformation knownInformation, CancellationToken cancellationToken) { return TaskEx.Run(() => FromId(deviceId, accessMode, knownInformation), cancellationToken); }
Task<IHidDevice> IHidDeviceInformation.OpenDeviceAsync(HidDeviceAccessMode accessMode, CancellationToken cancellationToken) { return Win32HidDeviceFactory.Instance.FromIdAsyncInferface(Path, accessMode, this, cancellationToken); }
public Task<Win32HidDevice> OpenDeviceAsync(HidDeviceAccessMode accessMode = HidDeviceAccessMode.ReadWrite, CancellationToken cancellationToken = default(CancellationToken)) { return Win32HidDeviceFactory.Instance.FromIdAsync(Path, accessMode, this, cancellationToken); }
Task <IHidDevice> IHidDeviceFactory.FromIdAsync(string deviceId, HidDeviceAccessMode accessMode, CancellationToken cancellationToken) { return(FromIdAsyncInferface(deviceId, accessMode, null, cancellationToken)); }