Compartilhar via


IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL (hidclass.h)

A solicitação IOCTL_HID_GET_COLLECTION_DESCRIPTOR obtém o de dados pré-preparados de uma coleção de nível superior, que o driver de classe HID extraiu do descritor de relatório do dispositivo físico durante a inicialização do dispositivo.

Para obter informações gerais sobre dispositivos HIDClass, consulte coleções HID.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Parameters.DeviceIoControl.OutputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer de saída especificado por >UserBuffer.

Buffer de saída

>UserBuffer é um ponteiro PVOID para um buffer alocado pelo solicitante que o driver de classe HID usa para retornar uma estrutura de _HIDP_PREPARSED_DATA de comprimento variável. Esse buffer deve ser alocado do pool nãopagado.

Comprimento do buffer de saída

O tamanho, em bytes, da estrutura de dados pré-preparada é obtido usando IOCTL_HID_GET_COLLECTION_INFORMATION.

Bloco de status

O driver de classe HID define os seguintes campos de Irp->IoStatus:

  • de informações é definido como tamanho, em bytes, dos dados pré-preparados.
  • Status será definido como STATUS_SUCCESS se os dados pré-preparados forem recuperados sem erros. Caso contrário, ele será definido como um código de erro NTSTATUS apropriado. Se o buffer de saída fornecido pelo solicitante não for grande o suficiente para manter os dados pré-preparados, o status será definido como STATUS_INVALID_BUFFER_SIZE.

Observações

A estrutura de _HIDP_PREPARSED_DATA contém dados pré-preparadosda coleção de nível superior.

typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;

Um aplicativo de modo de usuário chama HidD_GetPreparsedData para obter os dados pré-preparados de uma coleção de nível superior em uma estrutura de _HIDP_PREPARSED_DATA de comprimento variável.

Um driver de modo kernel usa uma solicitação IOCTL_HID_GET_COLLECTION_DESCRIPTOR para obter um ponteiro para os dados pré-preparados de uma coleção de nível superior.

A estrutura interna de uma estrutura de _HIDP_PREPARSED_DATA é reservada para uso interno do sistema.

Requisitos

Requisito Valor
cabeçalho hidclass.h (inclua Hidclass.h)

Consulte também

HidD_FreePreparsedData

HidD_GetPreparsedData