Partager via


HidDevice.InputReportReceived Événement

Définition

Établit un écouteur d’événements pour gérer les rapports d’entrée émis par l’appareil lorsque GetInputReportAsync() ou GetInputReportAsync(System.UInt16 reportId) est appelé.

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

Type d'événement

Exemples

Ici, nous récupérons un rapport d’entrée (inputReport) et obtenons le contenu du rapport dans le gestionnaire de l’événement InputReportReceived, déclenché à la fin de l’appel asynchrone.

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

Remarques

Cette méthode attend que l’appareil interrompe l’hôte lorsqu’il a des données à envoyer. En interne, l’API WinRT HID envoie une demande de lecture IOCTL à un pilote inférieur dans la pile.

L’IOCTL est traduit par le minidriver HID en une requête spécifique au protocole. Pour un périphérique USB, le minidriver traduit cela en une requête INTERRUPT IN. Et, pour un appareil I2C qui s’exécute sur le pilote miniport Microsoft HID-I2C, le minidriver attend que l’appareil déclare une interruption.

S’applique à

Voir aussi