HidOutputReport 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
HID 출력 보고서를 나타냅니다.
호스트는 출력 보고서를 실행하여 디바이스의 변경 내용을 요청합니다. 예를 들어 호스트는 키보드에 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
- 상속
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
설명
다음 예제에서는 XAML 및 C#으로 빌드된 UWP 앱 이 CreateOutputReport 메서드를 사용하여 출력 보고서를 만드는 방법을 보여 줍니다. 그런 다음 , SendOutputReportAsync 메서드를 사용하여 디바이스에 보고서를 보냅니다.
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");
}
}
}
}
속성
Data |
지정된 출력 보고서와 연결된 데이터를 가져오거나 설정합니다. |
Id |
지정된 출력 보고서와 연결된 식별자를 가져옵니다. |
메서드
GetBooleanControl(UInt16, UInt16) |
지정된 usagePage 및 usageId와 연결된 부울 컨트롤을 검색합니다. |
GetBooleanControlByDescription(HidBooleanControlDescription) |
지정된 controlDescription과 연결된 부울 컨트롤을 검색합니다. |
GetNumericControl(UInt16, UInt16) |
지정된 usagePage 및 usageId와 연결된 숫자 컨트롤을 검색합니다. |
GetNumericControlByDescription(HidNumericControlDescription) |
지정된 controlDescription과 연결된 숫자 컨트롤을 검색합니다. |