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
- Наследование
- Атрибуты
Требования к 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. |