HidOutputReport Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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. |