función HidP_GetCollectionDescription (hidpddi.h)

Rellena un bloque de descripción del dispositivo con la descripción de la colección y la información del identificador de informe correspondiente para el descriptor de informe especificado. Por lo general, un minidriver HID no necesita llamar a esta función. En su lugar, devuelve el descriptor de informe al controlador Hidclass en respuesta a IOCTL_HID_GET_REPORT_DESCRIPTOR.

Sintaxis

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

Parámetros

[in] ReportDesc

Puntero a una matriz UCHAR que contiene el descriptor de informe sin formato.

[in] DescLength

Longitud de la matriz del descriptor de informe.

[in] PoolType

Valor de POOL_TYPE que indica el tipo de grupo del que se asigna memoria para la lista vinculada. Esto incluye cada elemento de matriz HIDP_COLLECTION_DESC de HIDP_DEVICE_DESC, cada HIDP_PREPARSED_DATA de cada HIDP_COLLECTION_DESC, cada elemento de matriz HIDP_REPORT_IDS de HIDP_DEVICE_DESC.

[out] DeviceDescription

Puntero a una estructura de HIDP_DEVICE_DESC que se rellena con el bloque de descripción del dispositivo rellenado en descriptores de colección como listas vinculadas. Se trata de una estructura asignada por el autor de la llamada. Sin embargo, esta función asigna sus elementos de matriz HIDP_COLLECTION_DESC y HIDP_REPORT_IDS elementos de matriz.

Valor devuelto

HidP_GetCollectionDescription puede devolver uno de estos valores: TRUE si rellena correctamente el bloque de descripción del dispositivo. De lo contrario, devuelve FALSE.

Valor devuelto Descripción
STATUS_SUCCESS
Ha analizado correctamente el descriptor de informe y ha asignado los bloques de memoria necesarios para describir el dispositivo.
STATUS_NO_DATA_DETECTED
No se pudieron encontrar colecciones de nivel superior en el descriptor de informe.
STATUS_COULD_NOT_INTERPRET
Se detectó un error en el descriptor de informe. Consulte el código de error en el campo Dbg de la estructura HIDP_DEVICE_DESC .
STATUS_BUFFER_TOO_SMALL
Encontró el final del descriptor de informe cuando esperaba más datos.
STATUS_INSUFFICIENT_RESOURCES
No se pudo asignar memoria.
STATUS_ILLEGAL_INSTRUCTION
No se pudo analizar un elemento en el descriptor de informe.
HIDP_STATUS_INVALID_REPORT_TYPE
El identificador de informe de 0 se encontró en el descriptor.

Comentarios

Para un descriptor de informe sin formato especificado por el parámetro ReportDesc , HidP_GetCollectionDescription rellena el bloque DeviceDescription con una lista vinculada asignada por el autor de la llamada de descriptores de colección y la información del identificador de informe correspondiente que describe el descriptor de informe especificado. La memoria de la información de la colección y la información de ReportID se asigna en función del valor PoolType .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado hidpddi.h (include Hidpddi.h)
Library Hidparse.lib
IRQL <= DISPATCH_LEVEL