HidDevice.InputReportReceived Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Estabelece um ouvinte de eventos para lidar com relatórios de entrada emitidos pelo dispositivo quando GetInputReportAsync() ou GetInputReportAsync(System.UInt16 reportId) é chamado.
// 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
Exemplos
Aqui, recuperamos um relatório de entrada (inputReport) e obtemos o conteúdo do relatório no manipulador do evento InputReportReceived, disparado quando a chamada assíncrona é concluída.
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);
}
Comentários
Esse método aguarda o dispositivo interromper o host quando ele tiver dados a serem enviados. Internamente, a API winRT hid envia uma solicitação de leitura IOCTL para um driver inferior na pilha.
O IOCTL é convertido pelo minidriver HID em uma solicitação específica do protocolo. Para um dispositivo USB, o minidriver converte isso em uma solicitação INTERRUPT IN. E, para um dispositivo I2C que está executando o driver de miniporto Microsoft HID-I2C, o minidriver aguardará que o dispositivo declare uma interrupção.