HidDevice.InputReportReceived Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.