fonction HidP_GetCollectionDescription (hidpddi.h)
Remplit un bloc de description d’appareil avec la description de la collection et les informations d’ID de rapport correspondantes pour le descripteur de rapport spécifié. Un minidriver HID n’a généralement pas besoin d’appeler cette fonction. Au lieu de cela, il retourne le descripteur de rapport au pilote Hidclass en réponse à IOCTL_HID_GET_REPORT_DESCRIPTOR.
NTSTATUS HidP_GetCollectionDescription(
[in] PHIDP_REPORT_DESCRIPTOR ReportDesc,
[in] ULONG DescLength,
[in] POOL_TYPE PoolType,
[out] PHIDP_DEVICE_DESC DeviceDescription
);
[in] ReportDesc
Pointeur vers un tableau UCHAR qui contient le descripteur de rapport brut.
[in] DescLength
Longueur du tableau de descripteur de rapport.
[in] PoolType
Valeur POOL_TYPE qui indique le type de pool à partir duquel la mémoire de la liste liée est allouée. Cela inclut chaque élément de tableau HIDP_COLLECTION_DESC de HIDP_DEVICE_DESC, chaque HIDP_PREPARSED_DATA dans chaque HIDP_COLLECTION_DESC, chaque élément de tableau HIDP_REPORT_IDS de HIDP_DEVICE_DESC.
[out] DeviceDescription
Pointeur vers une structure HIDP_DEVICE_DESC remplie avec un bloc de description d’appareil rempli de descripteurs de collection sous forme de listes liées. Il s’agit d’une structure allouée par l’appelant. Toutefois, ses éléments de tableau HIDP_COLLECTION_DESC et HIDP_REPORT_IDS éléments de tableau sont alloués par cette fonction.
HidP_GetCollectionDescription pouvez retourner l’une des valeurs suivantes : TRUE s’il remplit correctement le bloc de description de l’appareil. Sinon, il retourne FALSE.
Valeur retournée | Description |
---|---|
|
Analyse réussie du descripteur de rapport et allocation des blocs de mémoire nécessaires pour décrire l’appareil. |
|
Impossible de trouver des collections de niveau supérieur dans le descripteur de rapport. |
|
Une erreur a été détectée dans le descripteur de rapport. Consultez le code d’erreur dans le champ Dbg de la structure HIDP_DEVICE_DESC . |
|
Trouvé la fin du descripteur de rapport quand il s’attendait à plus de données. |
|
Échec de l’allocation de mémoire. |
|
Échec de l’analyse d’un élément dans le descripteur de rapport. |
|
L’ID de rapport 0 a été trouvé dans le descripteur. |
Pour un descripteur de rapport brut spécifié par le paramètre ReportDesc , HidP_GetCollectionDescription remplit le bloc DeviceDescription avec une liste liée allouée par l’appelant descripteurs de collection et les informations d’ID de rapport correspondantes qui sont décrites par le descripteur de rapport donné. La mémoire pour les informations de collection et les informations ReportID est allouée en fonction de la valeur PoolType .
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 2000 et versions ultérieures de Windows. |
Plateforme cible | Universal |
En-tête | hidpddi.h (inclure Hidpddi.h) |
Bibliothèque | Hidparse.lib |
IRQL | <= DISPATCH_LEVEL |