Condividi tramite


HidDevice.InputReportReceived Evento

Definizione

Stabilisce un listener eventi per gestire i report di input emessi dal dispositivo quando viene chiamato GetInputReportAsync() o GetInputReportAsync(System.UInt16 reportId).

// 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) 

Tipo evento

Esempio

In questo caso viene recuperato un report di input (inputReport) e si ottiene il contenuto del report nel gestore per l'evento InputReportReceived, attivato al termine della chiamata asincrona.

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

Commenti

Questo metodo attende che il dispositivo interrompa l'host quando ha dati da inviare. Internamente, l'API WinRT HID invia una richiesta di lettura IOCTL a un driver inferiore nello stack.

IOCTL viene tradotto dal minidriver HID in una richiesta specifica del protocollo. Per un dispositivo USB, il minidriver converte questo in una richiesta INTERRUPT IN. Inoltre, per un dispositivo I2C in esecuzione sul driver miniport Microsoft HID-I2C, il minidriver attenderà che il dispositivo asserirà un interruzione.

Si applica a

Vedi anche