Bagikan melalui


HidOutputReport Kelas

Definisi

Mewakili Laporan Output HID.

Host mengeluarkan laporan output untuk meminta perubahan pada perangkat. Misalnya, host dapat mengeluarkan permintaan ke keyboard untuk mengaktifkan atau menonaktifkan 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
Warisan
Object Platform::Object IInspectable HidOutputReport
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Keterangan

Contoh berikut menunjukkan bagaimana aplikasi UWP yang dibangun dengan XAML dan C# menggunakan metode CreateOutputReport untuk membuat laporan output. Contoh ini kemudian menggunakan metode SendOutputReportAsync untuk mengirim laporan ke perangkat.

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

Properti

Data

Mendapatkan atau mengatur data yang terkait dengan laporan output tertentu.

Id

Mendapatkan pengidentifikasi yang terkait dengan laporan output tertentu.

Metode

GetBooleanControl(UInt16, UInt16)

Mengambil kontrol boolean yang terkait dengan usagePage dan usageId yang diberikan.

GetBooleanControlByDescription(HidBooleanControlDescription)

Mengambil kontrol boolean yang terkait dengan controlDescription yang diberikan.

GetNumericControl(UInt16, UInt16)

Mengambil kontrol numerik yang terkait dengan usagePage dan usageId yang diberikan.

GetNumericControlByDescription(HidNumericControlDescription)

Mengambil kontrol numerik yang terkait dengan controlDescription yang diberikan.

Berlaku untuk

Lihat juga