IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL (hidclass.h)
Die IOCTL_HID_GET_COLLECTION_DESCRIPTOR Anforderung ruft die vorbereiteten Daten einer Sammlung der obersten Ebene ab, die der HID-Klassentreiber während der Geräteinitialisierung aus dem Berichtsdeskriptor des physischen Geräts extrahiert hat.
Allgemeine Informationen zu HIDClass-Geräten finden Sie unter HID-Sammlungen.
Hauptcode
Eingabepuffer
Parameters.DeviceIoControl.OutputBufferLength in der E/A-Stapelposition des IRP gibt die Größe des von Irp-UserBuffer> angegebenen Ausgabepuffers in Bytes an.
Ausgabepuffer
Irp->UserBuffer ist ein PVOID-Zeiger auf einen vom Anforderer zugewiesenen Puffer, den der HID-Klassentreiber verwendet, um eine variable Länge _HIDP_PREPARSED_DATA Struktur zurückzugeben. Dieser Puffer muss aus einem nicht ausgestellten Pool zugewiesen werden.
Länge des Ausgabepuffers
Die Größe der vorbereiteten Datenstruktur in Bytes wird mithilfe von IOCTL_HID_GET_COLLECTION_INFORMATION abgerufen.
Statusblock
Der HID-Klassentreiber legt die folgenden Felder von Irp-IoStatus> fest:
- Die Informationen sind auf die Größe der vorbereiteten Daten in Bytes festgelegt.
- Status ist auf STATUS_SUCCESS festgelegt, wenn die vorbereiteten Daten ohne Fehler abgerufen wurden. Andernfalls wird ein entsprechender NTSTATUS-Fehlercode festgelegt. Wenn der vom Antragsteller bereitgestellte Ausgabepuffer nicht groß genug ist, um die vorbereiteten Daten aufzunehmen, wird status auf STATUS_INVALID_BUFFER_SIZE festgelegt.
Hinweise
Die _HIDP_PREPARSED_DATA-Struktur enthält die vorbereiteten Daten einer Sammlung auf oberster Ebene.
typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;
Eine Anwendung im Benutzermodus ruft HidD_GetPreparsedData auf, um die vorbereiteten Daten einer Sammlung auf oberster Ebene in einer variablen Länge _HIDP_PREPARSED_DATA Struktur abzurufen.
Ein Kernelmodustreiber verwendet eine IOCTL_HID_GET_COLLECTION_DESCRIPTOR-Anforderung , um einen Zeiger auf die vorbereiteten Daten einer Sammlung der obersten Ebene abzurufen.
Die interne Struktur einer _HIDP_PREPARSED_DATA-Struktur ist für die interne Systemverwendung reserviert.
Anforderungen
Anforderung | Wert |
---|---|
Header | hidclass.h (include Hidclass.h) |