Я хочу отправить отчет о выходе через hid на устройство.
var device = await HidDevice.FromIdAsync(deviceDescriptor.Id, Windows.Storage.FileAccessMode.ReadWrite);
HidOutputReport outReport = device.CreateOutputReport();
byte[] buffer = new byte[] { 10, 20, 30, 40 };
DataWriter dataWriter = new DataWriter();
dataWriter.WriteBytes(buffer);
outReport.Data = dataWriter.DetachBuffer();
Но происходит сбой за исключением.
Message:
System.ArgumentException : Value does not fall within the expected range.
Stack Trace:
HidOutputReport.put_Data(IBuffer value)
Что с ним не так? Код копируется из образца формы в документах.
Если длина нового буфера совпадает со старым outReport.Data.Length, я получаю исключение при
await device.SendOutputReportAsync(outReport);
// System.ArgumentException: 'Value does not fall within the expected range.'
StackTrace:
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at MyMethod()
Я пытаюсь запустить этот метод в xunit тест.