다음을 통해 공유


HidOutputReport 클래스

정의

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
상속
Object Platform::Object IInspectable 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)

지정된 usagePageusageId와 연결된 부울 컨트롤을 검색합니다.

GetBooleanControlByDescription(HidBooleanControlDescription)

지정된 controlDescription과 연결된 부울 컨트롤을 검색합니다.

GetNumericControl(UInt16, UInt16)

지정된 usagePageusageId와 연결된 숫자 컨트롤을 검색합니다.

GetNumericControlByDescription(HidNumericControlDescription)

지정된 controlDescription과 연결된 숫자 컨트롤을 검색합니다.

적용 대상

추가 정보