共用方式為


HidDevice.GetInputReportAsync 方法

定義

多載

GetInputReportAsync()

以非同步方式從指定的 HID 裝置擷取預設或第一個輸入報告。

GetInputReportAsync(UInt16)

從指定的 HID 裝置,以非同步方式擷取 reportId 參數所識別的輸入報表。

GetInputReportAsync()

以非同步方式從指定的 HID 裝置擷取預設或第一個輸入報告。

public:
 virtual IAsyncOperation<HidInputReport ^> ^ GetInputReportAsync() = GetInputReportAsync;
/// [Windows.Foundation.Metadata.Overload("GetInputReportAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<HidInputReport> GetInputReportAsync();
[Windows.Foundation.Metadata.Overload("GetInputReportAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<HidInputReport> GetInputReportAsync();
function getInputReportAsync()
Public Function GetInputReportAsync () As IAsyncOperation(Of HidInputReport)

傳回

HidInputReport物件。

屬性

範例

在這裡,我們會擷取輸入報表 (inputReport) ,並在 InputReportReceived 事件的處理常式中取得報表的內容,並在非同步呼叫完成時觸發。

HidInputReport inputReport = await device.GetInputReportAsync();
.
.
.
private void InputReportReceived(
    HidDevice sender, 
    HidInputReportReceivedEventArgs args)
    {
        HidInputReport inputReport = args.Report;
        IBuffer buffer = inputReport.Data;
        DataReader dr = DataReader.FromBuffer(buffer);
        byte[] bytes = new byte[inputReport.Data.Length];
        dr.ReadBytes(bytes);

        String inputReportContent = 
           System.Text.Encoding.ASCII.GetString(bytes);
    }

備註

此方法完成時,會觸發 InputReportReceived 事件。

若要存取輸入報表的內容,您必須設定InputReportReceived事件的接聽程式,並在事件處理常式中取得HidInputReportReceivedEventArgs物件的Report屬性。

裝置必須以 FileAccessMode.ReadFileAccessMode.ReadWrite開啟。

適用於

GetInputReportAsync(UInt16)

從指定的 HID 裝置,以非同步方式擷取 reportId 參數所識別的輸入報表。

public:
 virtual IAsyncOperation<HidInputReport ^> ^ GetInputReportAsync(unsigned short reportId) = GetInputReportAsync;
/// [Windows.Foundation.Metadata.Overload("GetInputReportByIdAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<HidInputReport> GetInputReportAsync(uint16_t const& reportId);
[Windows.Foundation.Metadata.Overload("GetInputReportByIdAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<HidInputReport> GetInputReportAsync(ushort reportId);
function getInputReportAsync(reportId)
Public Function GetInputReportAsync (reportId As UShort) As IAsyncOperation(Of HidInputReport)

參數

reportId
UInt16

unsigned short

uint16_t

識別要求的輸入報表。

傳回

HidInputReport物件。

屬性

範例

在這裡,我們會擷取輸入報表 (inputReport) ,並在 InputReportReceived 事件的處理常式中取得報表的內容,並在非同步呼叫完成時觸發。

HidInputReport inputReport = await device.GetInputReportAsync();
.
.
.
private void InputReportReceived(
    HidDevice sender, 
    HidInputReportReceivedEventArgs args)
    {
        HidInputReport inputReport = args.Report;
        IBuffer buffer = inputReport.Data;
        DataReader dr = DataReader.FromBuffer(buffer);
        byte[] bytes = new byte[inputReport.Data.Length];
        dr.ReadBytes(bytes);

        String inputReportContent = 
           System.Text.Encoding.ASCII.GetString(bytes);
    }

備註

此方法完成時,會觸發 InputReportReceived 事件。

若要存取輸入報表的內容,您必須設定InputReportReceived事件的接聽程式,並在事件處理常式中取得HidInputReportReceivedEventArgs物件的Report屬性。

裝置必須以 FileAccessMode.ReadFileAccessMode.ReadWrite開啟。

適用於