Partager via


HidOutputReport Classe

Définition

Représente un rapport de sortie HID.

Les hôtes émettent des rapports de sortie pour demander des modifications sur l’appareil. Par exemple, un hôte peut envoyer une demande à un clavier pour activer ou désactiver une 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
Héritage
Object Platform::Object IInspectable HidOutputReport
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Remarques

L’exemple suivant montre comment une application UWP créée avec XAML et C# utilise la méthode CreateOutputReport pour créer un rapport de sortie. Cet exemple utilise ensuite la méthode SendOutputReportAsync pour envoyer le rapport à l’appareil.

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

Propriétés

Data

Obtient ou définit les données associées à un rapport de sortie donné.

Id

Obtient l’identificateur associé à un rapport de sortie donné.

Méthodes

GetBooleanControl(UInt16, UInt16)

Récupère le contrôle booléen associé à usagePage et usageId donnés.

GetBooleanControlByDescription(HidBooleanControlDescription)

Récupère le contrôle booléen associé au controlDescription donné.

GetNumericControl(UInt16, UInt16)

Récupère le contrôle numérique associé à usagePage et usageId donnés.

GetNumericControlByDescription(HidNumericControlDescription)

Récupère le contrôle numérique associé au controlDescription donné.

S’applique à

Voir aussi