Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve como aplicações em modo utilizador e controladores em modo núcleo obtêm os dados pré-analisados de uma coleção HID, que é uma estrutura opaca que descreve os relatórios HID de uma coleção.
User-Mode Aplicação
Uma aplicação de modo de utilizador deve obter os dados pré-analisados de uma coleção antes de chamar qualquer uma das rotinas de suporte HIDClass que exigem os dados pré-analisados. Um aplicativo deve manter o acesso aos dados pré-analisados de uma coleção, desde que tenha um arquivo aberto no dispositivo.
Depois de abrir um ficheiro numa coleção HID, uma aplicação chama HidD_GetPreparsedData para retornar os dados pré-analisados de uma coleção num buffer alocado por rotina.
Os aplicativos devem chamar HidD_FreePreparsedData quando o aplicativo não requer mais acesso a uma coleção.
Kernel-Mode Motorista
Depois que um driver de modo kernel abre uma coleção HID, o driver obtém os dados pré-analisados dessa coleção da seguinte forma:
Obtém o comprimento dos dados pré-analisados da coleção
Obtém os dados pré-analisados da coleção
Para determinar o comprimento dos dados pré-analisados, o driver usa uma solicitação de IOCTL_HID_GET_COLLECTION_INFORMATION . Essa solicitação retorna uma estrutura HID_COLLECTION_INFORMATION . O membro DescriptorSize desta estrutura especifica o tamanho, em bytes, dos dados pré-processados de uma coleção. O driver deve alocar um buffer do pool não paginado de pelo menos esse tamanho para armazenar os dados pré-preparados.
Depois de alocar o buffer para os dados pré-preparados, o driver usa uma solicitação de IOCTL_HID_GET_COLLECTION_DESCRIPTOR para obter os dados preparados.
Depois de obter os dados pré-preparados, o driver pode usá-los com as rotinas de suporte HID **HidP_**Xxx para obter informações sobre os recursos da coleta HID e extrair dados de controle de relatórios HID.