Bagikan melalui


HidDevice.InputReportReceived Kejadian

Definisi

Menetapkan pendengar peristiwa untuk menangani laporan input yang dikeluarkan oleh perangkat saat GetInputReportAsync() atau GetInputReportAsync(System.UInt16 reportId) dipanggil.

// Register
event_token InputReportReceived(TypedEventHandler<HidDevice, HidInputReportReceivedEventArgs const&> const& handler) const;

// Revoke with event_token
void InputReportReceived(event_token const* cookie) const;

// Revoke with event_revoker
HidDevice::InputReportReceived_revoker InputReportReceived(auto_revoke_t, TypedEventHandler<HidDevice, HidInputReportReceivedEventArgs const&> const& handler) const;
public event TypedEventHandler<HidDevice,HidInputReportReceivedEventArgs> InputReportReceived;
function onInputReportReceived(eventArgs) { /* Your code */ }
hidDevice.addEventListener("inputreportreceived", onInputReportReceived);
hidDevice.removeEventListener("inputreportreceived", onInputReportReceived);
- or -
hidDevice.oninputreportreceived = onInputReportReceived;
Public Custom Event InputReportReceived As TypedEventHandler(Of HidDevice, HidInputReportReceivedEventArgs) 

Jenis Acara

Contoh

Di sini, kami mengambil laporan input (inputReport) dan mendapatkan konten laporan di handler untuk peristiwa InputReportReceived, yang dipicu ketika panggilan asinkron selesai.

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);
    }

Keterangan

Metode ini menunggu perangkat mengganggu host ketika memiliki data untuk dikirim. Secara internal, HID WinRT API mengirimkan permintaan baca IOCTL ke driver yang lebih rendah di tumpukan.

IOCTL diterjemahkan oleh minidriver HID ke dalam permintaan khusus protokol. Untuk perangkat USB, minidriver menerjemahkan ini ke dalam permintaan INTERRUPT IN. Dan, untuk perangkat I2C yang berjalan melalui driver miniport Microsoft HID-I2C, minidriver akan menunggu perangkat menegaskan gangguan.

Berlaku untuk

Lihat juga