Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Benutzermodusanwendungen und Kernelmodustreiber die vordefinierten Daten einer HID-Auflistung abrufen, bei der es sich um eine undurchsichtige Struktur handelt, die die HID-Berichte einer Auflistung beschreibt.
Anwendung für den Benutzermodus
Eine Benutzermodusanwendung muss die vordefinierten Daten einer Sammlung abrufen, bevor eine der HIDClass-Supportroutinen aufgerufen wird, die die vordefinierten Daten erfordern. Eine Anwendung sollte den Zugriff auf die vordefinierten Daten einer Sammlung beibehalten, solange sie über eine geöffnete Datei auf dem Gerät verfügt.
Nach dem Öffnen einer Datei in einer HID-Auflistung ruft eine Anwendung HidD_GetPreparsedData auf, um die vorbereiteten Daten einer Auflistung in einem routinegeteilten Puffer zurückzugeben.
Anwendungen sollten HidD_FreePreparsedData aufrufen, wenn die Anwendung keinen Zugriff mehr auf eine Sammlung benötigt.
Kernelmodustreiber
Nachdem ein Kernelmodustreiber eine HID-Auflistung geöffnet hat, ruft der Treiber die vordefinierten Daten einer Sammlung wie folgt ab:
Ruft die Länge der vorbereiteten Daten der Sammlung ab
Ruft die vorbereiteten Daten der Auflistung der Sammlung ab
Um die Länge der analysierten Daten zu ermitteln, verwendet der Treiber eine IOCTL_HID_GET_COLLECTION_INFORMATION Anforderung. Diese Anforderung gibt eine HID_COLLECTION_INFORMATION Struktur zurück. Das DescriptorSize-Element dieser Struktur gibt die Größe der vordefinierten Daten einer Auflistung in Bytes an. Der Treiber muss einen Puffer aus einem nicht ausgelagerten Pool von mindestens dieser Größe zuordnen, um die vorbereiteten Daten zu halten.
Nach dem Zuordnen des Puffers für die vorbereiteten Daten verwendet der Treiber eine IOCTL_HID_GET_COLLECTION_DESCRIPTOR Anforderung, um die vorbereiteten Daten abzurufen.
Nach dem Abrufen der vorbereiteten Daten kann der Treiber es mit den **HidP_**Xxx HID-Supportroutinen verwenden, um Informationen über die Funktionen der HID-Sammlung abzurufen und Steuerdaten aus HID-Berichten zu extrahieren.