Compartilhar via


função HidP_GetCollectionDescription (hidpddi.h)

Preenche um bloco de descrição do dispositivo com a descrição da coleção e as informações de ID de relatório correspondentes para o descritor de relatório especificado. Um minidriver HID geralmente não precisa chamar essa função. Em vez disso, ele retorna o descritor de relatório para o driver Hidclass em resposta a IOCTL_HID_GET_REPORT_DESCRIPTOR.

Sintaxe

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

Parâmetros

[in] ReportDesc

Um ponteiro para uma matriz UCHAR que contém o descritor de relatório bruto.

[in] DescLength

O comprimento da matriz do descritor de relatório.

[in] PoolType

Um valor de POOL_TYPE que indica o tipo de pool do qual a memória da lista vinculada é alocada. Isso inclui cada elemento de matriz HIDP_COLLECTION_DESC de HIDP_DEVICE_DESC, cada HIDP_PREPARSED_DATA em cada HIDP_COLLECTION_DESC, cada elemento de matriz HIDP_REPORT_IDS de HIDP_DEVICE_DESC.

[out] DeviceDescription

Um ponteiro para uma estrutura de HIDP_DEVICE_DESC que é preenchida com o bloco de descrição do dispositivo preenchido em descritores de coleção como listas vinculadas. Essa é uma estrutura alocada pelo chamador. No entanto, seus elementos de matriz HIDP_COLLECTION_DESC e elementos de matriz HIDP_REPORT_IDS são alocados por essa função.

Retornar valor

HidP_GetCollectionDescription pode retornar um destes valores: TRUE se preencher com êxito o bloco de descrição do dispositivo. Caso contrário, retornará FALSE.

Valor retornado Descrição
STATUS_SUCCESS
Analisou com êxito o descritor de relatório e alocou os blocos de memória necessários para descrever o dispositivo.
STATUS_NO_DATA_DETECTED
Falha ao localizar coleções de nível superior no descritor de relatório.
STATUS_COULD_NOT_INTERPRET
Um erro foi detectado no descritor de relatório. Consulte o código de erro no campo Dbg da estrutura HIDP_DEVICE_DESC .
STATUS_BUFFER_TOO_SMALL
Encontrou o final do descritor de relatório quando esperava mais dados.
STATUS_INSUFFICIENT_RESOURCES
Falha ao alocar memória.
STATUS_ILLEGAL_INSTRUCTION
Falha ao analisar um item no descritor de relatório.
HIDP_STATUS_INVALID_REPORT_TYPE
A ID do relatório 0 foi encontrada no descritor.

Comentários

Para um descritor de relatório bruto especificado pelo parâmetro ReportDesc , HidP_GetCollectionDescription preenche o bloco DeviceDescription com uma lista vinculada alocada pelo chamador de descritores de coleção e as informações de ID de Relatório correspondentes descritas pelo descritor de relatório fornecido. A memória para as informações de coleção e as informações de ReportID é alocada com base no valor PoolType .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho hidpddi.h (inclua Hidpddi.h)
Biblioteca Hidparse.lib
IRQL <= DISPATCH_LEVEL