Freigeben über


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

IRP_MJ_DEVICE_CONTROL

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)

Weitere Informationen

HidD_FreePreparsedData

HidD_GetPreparsedData