HidDevice.GetInputReportAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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.Read 或 FileAccessMode.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.Read 或 FileAccessMode.ReadWrite開啟。