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 capacidade de valor contém informações sobre as utilizações de valor suportadas por uma coleção de nível superior para um tipo específico de relatório HID. As informações sobre as matrizes de capacidade de valor 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_GetValueCaps retorna uma matriz de capacidade de valor descrevendo todos os valores contidos em um tipo de relatório especificado pelo chamador.
HidP_GetSpecificValueCaps filtra as informações de capacidade de valor que retorna por uma página de uso especificada pelo chamador, uso, coleção de links e tipo de relatório.
Uma matriz de capacidade de valor contém HIDP_VALUE_CAPS estruturas, cada uma das quais descreve as seguintes informações sobre um uso HID ou intervalo de uso:
A página de uso para um uso ou intervalo de uso
A ID do relatório que contém o valor
Um ID de uso ou um intervalo de uso
Indica se um uso é um uso com alias
Informações sobre a coleção de links que contém o uso ou intervalo de utilização
O tamanho, em bits, de um valor e a contagem de relatório (que é o número de valores individuais descritos pela estrutura)
Atributos de cada valor, incluindo: se ele tem um valor nulo, suas unidades e expoente, e seus intervalos lógicos e físicos
Informações sobre descritores e designadores de cadeia de caracteres associados ao uso ou intervalo de uso
Informações sobre os índices de dados que o analisador HID atribui a um uso ou intervalo de uso
Em geral, as seguintes condições são válidas para todos os usos descritos por uma matriz de capacidade de valor:
Cada estrutura de capacidade representa um uso, um intervalo de uso ou uma matriz de valor de uso associada a um item principal variável. Os elementos principais do array não são suportados como valores.
Usos com alias podem ser usados. Um intervalo de uso não pode ter um nome alternativo. Os valores com alias são vinculados a uma matriz de capacidades de valores da mesma forma que os botões com alias são vinculados a uma matriz de capacidades de botões. Consulte Usos de botões em um item principal variável.
O analisador HID usa apenas os usos mínimos necessários para atribuir um uso a cada valor. 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 capacidade de valor não contém informações sobre usos descartados.
O analisador HID atribui um índice de dados exclusivo a cada uso descrito na matriz de capacidade.
Para obter uma descrição de como os índices de dados são atribuídos aos valores, consulte Índices de dados.
Matriz de valores de utilização
Uma matriz de valor de uso é um conjunto consecutivo de valores especificados em um item principal, todos os quais são atribuídos o mesmo uso. Isso ocorre se apenas um uso for especificado para um item principal cuja contagem de relatório é maior que um.
A figura a seguir mostra um exemplo de uma matriz de valor de uso que contém cinco itens de dados, cada um com seis bits de comprimento.
No exemplo anterior, a estrutura de capacidade de valor para tal matriz de valor de uso teria seu membro IsRange definido como FALSE, seu membro NotRange.Usage definido como 17, seu membro ReportCount definido como 5 e seu membro BitSize definido como 6.
Se a contagem de relatórios para uma utilização for 1, use HidP_GetUsageValue para extrair o valor de utilização. Se a contagem do relatório de uso for maior que 1, HidP_GetUsageValue retornará apenas o primeiro item de dados de um array de valores de uso. Para extrair todos os itens de dados em uma matriz de valor de uso, use HidP_GetUsageValueArray.