Condividi tramite


funzione HidP_GetCollectionDescription (hidpddi.h)

Riempie un blocco di descrizione del dispositivo con la descrizione della raccolta e le informazioni relative all'ID report corrispondente per il descrittore di report specificato. Un minidriver HID in genere non deve chiamare questa funzione. Restituisce invece il descrittore del report al driver Hidclass in risposta alla IOCTL_HID_GET_REPORT_DESCRIPTOR.

Sintassi

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

Parametri

[in] ReportDesc

Puntatore a una matrice UCHAR contenente il descrittore del report non elaborato.

[in] DescLength

Lunghezza della matrice descrittore del report.

[in] PoolType

Valore POOL_TYPE che indica il tipo di pool da cui viene allocata la memoria per l'elenco collegato. Ciò include ogni elemento matrice HIDP_COLLECTION_DESC di HIDP_DEVICE_DESC, ogni HIDP_PREPARSED_DATA in ogni HIDP_COLLECTION_DESC, ogni elemento matrice HIDP_REPORT_IDS di HIDP_DEVICE_DESC.

[out] DeviceDescription

Puntatore a una struttura HIDP_DEVICE_DESC popolata con il blocco di descrizione del dispositivo riempito in descrittori di raccolta come elenchi collegati. Si tratta di una struttura allocata dal chiamante. Tuttavia, gli elementi della matrice HIDP_COLLECTION_DESC e gli elementi della matrice HIDP_REPORT_IDS vengono allocati da questa funzione.

Valore restituito

HidP_GetCollectionDescription può restituire uno di questi valori: TRUE se riempie correttamente il blocco di descrizione del dispositivo. In caso contrario, restituisce FALSE.

Valore restituito Descrizione
STATUS_SUCCESS
È stato analizzato correttamente il descrittore del report e allocato i blocchi di memoria necessari per descrivere il dispositivo.
STATUS_NO_DATA_DETECTED
Impossibile trovare raccolte di livello superiore nel descrittore del report.
STATUS_COULD_NOT_INTERPRET
È stato rilevato un errore nel descrittore del report. Vedere il codice di errore nel campo Dbg della struttura HIDP_DEVICE_DESC .
STATUS_BUFFER_TOO_SMALL
Trovato la fine del descrittore del report quando prevede più dati.
STATUS_INSUFFICIENT_RESOURCES
Impossibile allocare memoria.
STATUS_ILLEGAL_INSTRUCTION
Impossibile analizzare un elemento nel descrittore del report.
HIDP_STATUS_INVALID_REPORT_TYPE
ID report di 0 trovato nel descrittore.

Commenti

Per un descrittore di report non elaborato specificato dal parametro ReportDesc , HidP_GetCollectionDescription compilare il blocco DeviceDescription con un elenco collegato allocato del chiamante di descrittori di raccolta e le informazioni relative all'ID report descritte dal descrittore del report specificato. La memoria per le informazioni sulla raccolta e le informazioni reportID vengono allocate in base al valore PoolType .

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 2000 e versioni successive di Windows.
Piattaforma di destinazione Universale
Intestazione hidpddi.h (include Hidpddi.h)
Libreria Hidparse.lib
IRQL <= DISPATCH_LEVEL