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.
Uma matriz de recursos de botão contém informações sobre os usos de botões suportados por uma coleção de nível superior para um tipo específico de relatório HID. As informações sobre a capacidade de uma coleção estão contidas em sua estrutura HIDP_CAPS .
Um aplicativo de modo de usuário ou driver de modo kernel usa uma das seguintes rotinas de suporte HIDClass para obter informações de capacidade de botão:
HidP_GetButtonCaps retorna uma matriz de recursos de botão descrevendo todos os usos de botão contidos em um tipo de relatório especificado.
HidP_GetSpecificButtonCaps filtra as informações de capacidade do botão que retorna usando uma página de uso, ID de uso e coleção de links especificados pelo chamador.
Uma matriz de capacidades de botões contém estruturas HIDP_BUTTON_CAPS, cada uma das quais contém as seguintes informações sobre uma utilização HID ou intervalo de utilização:
A página de uso para o uso ou intervalo de utilização
O ID do relatório que contém os dados do botão
O ID de utilização ou o intervalo de utilizações
Um sinalizador que indica se um uso é um uso com alias
A coleção de links que contém o uso ou o intervalo de uso
Os descritores e designadores de cadeia de caracteres associados ao uso ou intervalo de uso (consulte o item Designator Index e o item String Index)
Os índices de dados que o analisador HID atribuiu aos usos ou intervalos de uso
Em geral, as seguintes condições são válidas para todos os usos descritos por uma matriz de recursos de botão:
Cada estrutura de capacidade representa um único uso ou intervalo de uso associado a um item principal variável ou a um item principal de matriz.
Os usos com alias podem ser usados com um item principal variável. Um uso associado a um item de matriz não pode ser ter um alias. Um intervalo de uso não pode ter um nome alternativo.
O analisador HID usa apenas o número mínimo necessário de usos para atribuir um uso a cada botão. O analisador atribui usos na ordem em que são especificados em um descritor de relatório. Os usos em um descritor de relatório que não são necessários são descartados. A matriz de recursos de botão não contém informações sobre usos descartados.
Se o número de usos especificados para um item variável for menor do que o número de botões no item, a matriz de capacidade conterá apenas uma estrutura de capacidade que descreve o uso de um botão (o último uso especificado no descritor de relatório para o item principal da variável). No entanto, consulte Matriz de valores de uso para obter informações sobre valores de uso que têm um número de relatórios maior que um.
O analisador HID atribui um índice de dados exclusivo a cada uso descrito na matriz de capacidade.
Os tópicos a seguir discutem como as estruturas de capacidade são organizadas e definidas em uma matriz de capacidade de botão:
Usos de botões em um item principal variável
Cada uso ou intervalo de uso especificado num descritor de relatório é descrito por sua própria estrutura de capacidade numa matriz de capacidade de botão.
O membro IsAlias de estruturas de capacidade é usado para especificar um conjunto de n usos alias da seguinte maneira:
- IsAlias é definido como TRUE nas primeiras estruturas de capacidade n-1 adicionadas à matriz de capacidade. IsAlias definido como FALSE na nésima estrutura de capacidade. O uso preferencial é o último uso com alias na sequência.
Uma aplicação ou driver pode identificar quais usos de botão estão com alias, verificando essas sequências.
A tabela a seguir resume um exemplo de três usos com alias.
| Ordem de uso com alias em um descritor de relatório | Ordem de uso em uma matriz de recursos | Valor do membro "IsAlias" |
|---|---|---|
| Utilização 1 | Utilização 3 | VERDADEIRO |
| Utilização 2 | Utilização 2 | VERDADEIRO |
| Utilização 3 | Utilização 1 | FALSO |
Para obter informações sobre como os usos e os índices de dados são referenciados de forma cruzada, consulte Índices de dados.
Usos de botões em um item principal de matriz
Cada uso ou intervalo de uso para um item principal de matriz de botões especificado em um descritor de relatório é descrito por sua própria estrutura de capacidade em uma matriz de capacidade de botão. A ordem na qual as estruturas de capacidade são adicionadas a uma matriz de capacidade é o inverso da ordem em que os usos são especificados para um item principal.
O analisador HID atribui um índice de dados a cada uso associado ao item de matriz na ordem em que os usos são especificados em um descritor de relatório. Por exemplo, a tabela a seguir mostra a correspondência entre um conjunto de usos, conforme especificado em um descritor de relatório, e os usos e índices de dados, conforme especificado na matriz de capacidade. (Nesta tabela, n é o primeiro índice de dados que o analisador atribui ao primeiro uso associado ao item de matriz.)
| Ordem de uso no descritor de relatório | Ordem de utilização em vetor de capacidades | DataIndex ou de DataIndexMin para DataIndexMax |
|---|---|---|
| Utilização 1 | Faixa de uso 2 | de n+7 a n+8 |
| faixa de uso 1 (com 4 usos) | Utilização 2 | n+5 |
| Utilização 2 | Faixa de uso: 1 | de n+1 a n+4 |
| faixa de uso 2 (com 2 usos) | Utilização 1 | n |