HidOutputReport Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a HID Output Report.
Hosts issue output reports to request changes on the device. For example, a host could issue a request to a keyboard to turn an LED on or off.
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
- Inheritance
- Attributes
Windows requirements
Device family |
Windows 10 (introduced in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v1.0)
|
Remarks
The following example demonstrates how a UWP app built with XAML and C# uses the CreateOutputReport method to create an output report. This example then uses the SendOutputReportAsync method to send the report to the device.
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");
}
}
}
}
Properties
Data |
Gets or sets the data associated with a given output report. |
Id |
Gets the identifier associated with a given output report. |
Methods
GetBooleanControl(UInt16, UInt16) |
Retrieves the boolean control associated with the given usagePage and usageId. |
GetBooleanControlByDescription(HidBooleanControlDescription) |
Retrieves the boolean control associated with the given controlDescription. |
GetNumericControl(UInt16, UInt16) |
Retrieves the numeric control associated with the given usagePage and usageId. |
GetNumericControlByDescription(HidNumericControlDescription) |
Retrieves the numeric control associated with the given controlDescription. |