Compartilhar via


HidOutputReport Classe

Definição

Representa um relatório de saída hid.

Os hosts emitem relatórios de saída para solicitar alterações no dispositivo. Por exemplo, um host pode emitir uma solicitação para um teclado para ativar ou desativar um 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
Herança
Object Platform::Object IInspectable HidOutputReport
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

O exemplo a seguir demonstra como um aplicativo UWP criado com XAML e C# usa o método CreateOutputReport para criar um relatório de saída. Em seguida, este exemplo usa o método SendOutputReportAsync para enviar o relatório para o 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");
            }
        }
    }
}

Propriedades

Data

Obtém ou define os dados associados a um determinado relatório de saída.

Id

Obtém o identificador associado a um determinado relatório de saída.

Métodos

GetBooleanControl(UInt16, UInt16)

Recupera o controle booliano associado a usagePage e usageId fornecidos.

GetBooleanControlByDescription(HidBooleanControlDescription)

Recupera o controle booliano associado ao controlDescription fornecido.

GetNumericControl(UInt16, UInt16)

Recupera o controle numérico associado a usagePage e usageId fornecidos.

GetNumericControlByDescription(HidNumericControlDescription)

Recupera o controle numérico associado ao controlDescription fornecido.

Aplica-se a

Confira também