Поделиться через


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
Наследование
Object Platform::Object IInspectable 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 и найденный в заданном входном отчете.

Применяется к

См. также раздел