HidDevice.InputReportReceived Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Richtet einen Ereignislistener für die Verarbeitung von Eingabeberichten ein, die vom Gerät ausgegeben werden, wenn entweder GetInputReportAsync() oder GetInputReportAsync(System.UInt16 reportId) aufgerufen wird.
// 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)
Ereignistyp
Beispiele
Hier rufen wir einen Eingabebericht (inputReport) ab und rufen den Inhalt des Berichts im Handler für das InputReportReceived-Ereignis ab, das ausgelöst wird, wenn der asynchrone Aufruf abgeschlossen ist.
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);
}
Hinweise
Diese Methode wartet darauf, dass das Gerät den Host unterbricht, wenn Daten gesendet werden. Intern sendet die HID WinRT-API eine IOCTL-Leseanforderung an einen niedrigeren Treiber im Stapel.
Die IOCTL wird vom HID-Minitreiber in eine protokollspezifische Anforderung übersetzt. Bei einem USB-Gerät übersetzt der Minidriver dies in eine INTERRUPT IN-Anforderung. Und bei einem I2C-Gerät, das über den Microsoft HID-I2C-Miniporttreiber ausgeführt wird, wartet der Minitreiber, bis das Gerät einen Interrupt ausführt.
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für