Freigeben über


HidP_GetCollectionDescription-Funktion (hidpddi.h)

Füllt einen Gerätebeschreibungsblock mit sammlungsbeschreibung und den entsprechenden Berichts-ID-Informationen für den angegebenen Berichtsdeskriptor. Ein HID-Minidriver muss diese Funktion in der Regel nicht aufrufen. Stattdessen wird der Berichtsdeskriptor zum Hidclass-Treiber als Reaktion auf IOCTL_HID_GET_REPORT_DESCRIPTOR zurückgegeben.

Syntax

NTSTATUS HidP_GetCollectionDescription(
  [in]  PHIDP_REPORT_DESCRIPTOR ReportDesc,
  [in]  ULONG                   DescLength,
  [in]  POOL_TYPE               PoolType,
  [out] PHIDP_DEVICE_DESC       DeviceDescription
);

Parameter

[in] ReportDesc

Ein Zeiger auf ein UCHAR-Array, das den unformatierten Berichtsdeskriptor enthält.

[in] DescLength

Die Länge des Berichtsdeskriptorarrays.

[in] PoolType

Ein POOL_TYPE-Wert, der den Pooltyp angibt, aus dem Arbeitsspeicher für die verknüpfte Liste zugewiesen wird. Dies umfasst jedes HIDP_COLLECTION_DESC Arrayelement von HIDP_DEVICE_DESC, jedes HIDP_PREPARSED_DATA in jedem HIDP_COLLECTION_DESC, jedes HIDP_REPORT_IDS Arrayelement von HIDP_DEVICE_DESC.

[out] DeviceDescription

Ein Zeiger auf eine HIDP_DEVICE_DESC-Struktur , die mit einem Gerätebeschreibungsblock gefüllt ist, der in Sammlungsdeskriptoren als verknüpfte Listen ausgefüllt ist. Dies ist eine vom Aufrufer zugewiesene Struktur. Die HIDP_COLLECTION_DESC Arrayelemente und HIDP_REPORT_IDS Arrayelemente werden jedoch von dieser Funktion zugeordnet.

Rückgabewert

HidP_GetCollectionDescription können einen der folgenden Werte zurückgeben: TRUE , wenn der Gerätebeschreibungsblock erfolgreich ausgefüllt wird. Andernfalls wird FALSE zurückgegeben.

Rückgabewert BESCHREIBUNG
STATUS_SUCCESS
Der Berichtsdeskriptor wurde erfolgreich analysiert und die Speicherblöcke zugeordnet, die zum Beschreiben des Geräts erforderlich sind.
STATUS_NO_DATA_DETECTED
Fehler beim Finden von Sammlungen der obersten Ebene im Berichtsdeskriptor.
STATUS_COULD_NOT_INTERPRET
Im Berichtsdeskriptor wurde ein Fehler erkannt. Sehen Sie sich den Fehlercode im Dbg-Feld der HIDP_DEVICE_DESC-Struktur an.
STATUS_BUFFER_TOO_SMALL
Das Ende des Berichtsdeskriptors wurde gefunden, wenn mehr Daten erwartet wurden.
STATUS_INSUFFICIENT_RESOURCES
Fehler beim Zuweisen von Arbeitsspeicher.
STATUS_ILLEGAL_INSTRUCTION
Fehler beim Analysieren eines Elements im Berichtsdeskriptor.
HIDP_STATUS_INVALID_REPORT_TYPE
Die Berichts-ID 0 wurde im Deskriptor gefunden.

Hinweise

Für einen unformatierten Berichtsdeskriptor, der durch den ReportDesc-Parameter angegeben wird, füllt HidP_GetCollectionDescription den DeviceDescription-Block mit einer vom Aufrufer zugewiesenen verknüpften Liste von Auflistungsdeskriptoren und den entsprechenden Berichts-ID-Informationen aus, die vom angegebenen Berichtsdeskriptor beschrieben werden. Der Arbeitsspeicher für die Sammlungsinformationen und die ReportID-Informationen werden basierend auf dem PoolType-Wert zugeordnet.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 2000 und höheren Versionen von Windows.
Zielplattform Universell
Header hidpddi.h (einschließlich Hidpddi.h)
Bibliothek Hidparse.lib
IRQL <= DISPATCH_LEVEL