HidInputReport Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет входной отчет HID.
Устройства выдают отчеты о входных данных для описания изменений состояния, ввода пользователем и других данных, относящихся к устройству. Например, устройство клавиатуры HID будет использовать входной отчет для передачи сигнала о нажатии клавиши. Датчик присутствия HID будет использовать входной отчет, чтобы сообщить о событии обнаружения присутствия.
public ref class HidInputReport sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class HidInputReport final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class HidInputReport
Public NotInheritable Class HidInputReport
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Комментарии
В следующем примере показано, как приложение UWP, созданное с помощью XAML и C#, использует метод GetInputReportAsync для получения входного отчета.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Devices.Enumeration;
using Windows.Devices.HumanInterfaceDevice;
using Windows.Storage;
using Windows.Storage.Streams;
namespace HidSampleCS
{
class Vendor
{
private async void ReadWriteToHidDevice(HidDevice device)
{
if (device != null)
{
// construct a HID output report to send to the device
HidOutputReport outReport = device.CreateOutputReport();
/// Initialize the data buffer and fill it in
byte[] buffer = new byte[] { 10, 20, 30, 40 };
DataWriter dataWriter = new DataWriter();
dataWriter.WriteBytes(buffer);
outReport.Data = dataWriter.DetachBuffer();
// Send the output report asynchronously
await device.SendOutputReportAsync(outReport);
//
// Sent output report successfully
// Now lets try read an input report
//
HidInputReport inReport = await device.GetInputReportAsync();
if (inReport != null)
{
UInt16 id = inReport.Id;
var bytes = new byte[4];
DataReader dataReader = DataReader.FromBuffer(inReport.Data);
dataReader.ReadBytes(bytes);
}
else
{
this.NotifyUser("Invalid input report received");
}
}
else
{
this.NotifyUser("device is NULL");
}
}
}
}
Свойства
ActivatedBooleanControls |
Возвращает активированные в настоящее время логические элементы управления для данного устройства HID. |
Data |
Возвращает данные, связанные с данным входным отчетом. |
Id |
Возвращает идентификатор, связанный с данным входным отчетом. |
TransitionedBooleanControls |
Возвращает недавно перенесенные логические элементы управления для данного устройства HID. |
Методы
GetBooleanControl(UInt16, UInt16) |
Извлекает логический элемент управления, связанный с параметром usagePage и usageId и найденный в заданном входном отчете. |
GetBooleanControlByDescription(HidBooleanControlDescription) |
Извлекает логический элемент управления, описанный параметром controlDescription и найденный в заданном входном отчете. |
GetNumericControl(UInt16, UInt16) |
Извлекает числовой элемент управления, связанный с параметрами usagePage и usageId и найденный в заданном входном отчете. |
GetNumericControlByDescription(HidNumericControlDescription) |
Извлекает числовой элемент управления, описанный параметром controlDescription и найденный в заданном входном отчете. |