Partager via


fonction HidP_GetCollectionDescription (hidpddi.h)

Remplit un bloc de description d’appareil avec la description de 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.

Syntaxe

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

Paramètres

[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_TYPEqui 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 le bloc de description de l’appareil rempli dans les 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.

Valeur de retour

HidP_GetCollectionDescription pouvez retourner l’une de ces valeurs : TRUE si elle remplit correctement le bloc de description de l’appareil. Sinon, elle retourne FALSE.

Valeur de retour Description
STATUS_SUCCESS
Analyse correctement le descripteur de rapport et alloué les blocs de mémoire nécessaires pour décrire l’appareil.
STATUS_NO_DATA_DETECTED
Échec de la recherche de collections de niveau supérieur dans le descripteur de rapport.
STATUS_COULD_NOT_INTERPRET
Une erreur a été détectée dans le descripteur de rapport. Consultez le code d’erreur dans champ dbg de la structure HIDP_DEVICE_DESC.
STATUS_BUFFER_TOO_SMALL
A trouvé la fin du descripteur de rapport lorsqu’il attendait davantage de données.
STATUS_INSUFFICIENT_RESOURCES
Échec de l’allocation de la mémoire.
STATUS_ILLEGAL_INSTRUCTION
Échec de l’analyse d’un élément dans le descripteur de rapport.
HIDP_STATUS_INVALID_REPORT_TYPE
L’ID de rapport 0 a été trouvé dans le descripteur.

Remarques

Pour un descripteur de rapport brut spécifié par le paramètre ReportDesc, HidP_GetCollectionDescription renseigne le bloc DeviceDescription avec une liste liée allouée par l’appelant des descripteurs de collection et les informations d’ID de rapport correspondantes décrites par le descripteur de rapport donné. La mémoire des informations de collecte et les informations ReportID sont allouées en fonction de la valeur poolType.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 2000 et versions ultérieures de Windows.
plateforme cible Universel
d’en-tête hidpddi.h (include Hidpddi.h)
bibliothèque Hidparse.lib
IRQL <= DISPATCH_LEVEL