Compartir a través de


HidOutputReport Clase

Definición

Representa un informe de salida HID.

Hosts emite informes de salida para solicitar cambios en el dispositivo. Por ejemplo, un host podría emitir una solicitud a un teclado para activar o desactivar un LED.

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
Herencia
Object Platform::Object IInspectable HidOutputReport
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Comentarios

En el ejemplo siguiente se muestra cómo una aplicación para UWP compilada con XAML y C# usa el método CreateOutputReport para crear un informe de salida. A continuación, en este ejemplo se usa el método SendOutputReportAsync para enviar el informe al dispositivo.

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

Propiedades

Data

Obtiene o establece los datos asociados a un informe de salida determinado.

Id

Obtiene el identificador asociado a un informe de salida determinado.

Métodos

GetBooleanControl(UInt16, UInt16)

Recupera el control booleano asociado al usagePage y usageId especificados.

GetBooleanControlByDescription(HidBooleanControlDescription)

Recupera el control booleano asociado al controlDescription especificado.

GetNumericControl(UInt16, UInt16)

Recupera el control numérico asociado al usagePage y usageId especificados.

GetNumericControlByDescription(HidNumericControlDescription)

Recupera el control numérico asociado al control especificadoDescription.

Se aplica a

Consulte también