Compartilhar via


IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL (hidclass.h)

A solicitação IOCTL_HID_GET_COLLECTION_DESCRIPTOR obtém os 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 Irp-UserBuffer>.

Buffer de saída

Irp->UserBuffer é um ponteiro PVOID para um buffer alocado pelo solicitante que o driver de classe HID usa para retornar um comprimento variável _HIDP_PREPARSED_DATA estrutura. 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>:

  • As informações são definidas como tamanho, em bytes, dos dados pré-preparados.
  • O status será definido como STATUS_SUCCESS se os dados pré-criados forem recuperados sem erro. 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, status será definido como STATUS_INVALID_BUFFER_SIZE.

Comentários

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

typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;

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

Um driver no 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 _HIDP_PREPARSED_DATA é reservada para uso interno do sistema.

Requisitos

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

Confira também

HidD_FreePreparsedData

HidD_GetPreparsedData