Compartir a través de


HidDevice.InputReportReceived Evento

Definición

Establece un agente de escucha de eventos para controlar los informes de entrada emitidos por el dispositivo cuando se llama a 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 de evento

Ejemplos

Aquí se recupera un informe de entrada (inputReport) y se obtiene el contenido del informe en el controlador para el evento InputReportReceived, que se desencadena cuando se completa la llamada asincrónica.

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

Comentarios

Este método espera a que el dispositivo interrumpa el host cuando tiene datos que enviar. Internamente, la API de WinRT hid envía una solicitud de lectura de IOCTL a un controlador inferior de la pila.

El minidriver HID convierte el IOCTL en una solicitud específica del protocolo. Para un dispositivo USB, el minidriver lo convierte en una solicitud INTERRUPT IN. Y, para un dispositivo I2C que se ejecuta a través del controlador de miniporte HID-I2C de Microsoft, el minidriver esperará a que el dispositivo aserte una interrupción.

Se aplica a

Consulte también