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


HidOutputReport Класс

Определение

Представляет выходной отчет HID.

Узлы выдают выходные отчеты для запроса изменений на устройстве. Например, узел может отправить запрос на клавиатуру для включения или выключения светодиодного индикатора.

public ref class HidOutputReport sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class HidOutputReport final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class HidOutputReport
Public NotInheritable Class HidOutputReport
Наследование
Object Platform::Object IInspectable HidOutputReport
Атрибуты

Требования к 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#, использует метод CreateOutputReport для создания выходного отчета. В этом примере используется метод SendOutputReportAsync для отправки отчета на устройство.

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");
            }
        }
    }
}

Свойства

Data

Возвращает или задает данные, связанные с данным выходным отчетом.

Id

Возвращает идентификатор, связанный с данным выходным отчетом.

Методы

GetBooleanControl(UInt16, UInt16)

Извлекает логический элемент управления, связанный с данными usagePage и usageId.

GetBooleanControlByDescription(HidBooleanControlDescription)

Извлекает логический элемент управления, связанный с заданным controlDescription.

GetNumericControl(UInt16, UInt16)

Извлекает числовой элемент управления, связанный с данными usagePage и usageId.

GetNumericControlByDescription(HidNumericControlDescription)

Извлекает числовой элемент управления, связанный с заданным controlDescription.

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

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