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
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) |