Compartilhar via


estrutura HIDP_BUTTON_CAPS (hidpi.h)

A estrutura HIDP_BUTTON_CAPS contém informações sobre a funcionalidade de um uso de botão de controle HID (ou um conjunto de botões associados a um intervalo de uso).

Sintaxe

typedef struct _HIDP_BUTTON_CAPS {
  USAGE   UsagePage;
  UCHAR   ReportID;
  BOOLEAN IsAlias;
  USHORT  BitField;
  USHORT  LinkCollection;
  USAGE   LinkUsage;
  USAGE   LinkUsagePage;
  BOOLEAN IsRange;
  BOOLEAN IsStringRange;
  BOOLEAN IsDesignatorRange;
  BOOLEAN IsAbsolute;
  USHORT  ReportCount;
  USHORT  Reserved2;
  ULONG   Reserved[9];
  union {
    struct {
      USAGE  UsageMin;
      USAGE  UsageMax;
      USHORT StringMin;
      USHORT StringMax;
      USHORT DesignatorMin;
      USHORT DesignatorMax;
      USHORT DataIndexMin;
      USHORT DataIndexMax;
    } Range;
    struct {
      USAGE  Usage;
      USAGE  Reserved1;
      USHORT StringIndex;
      USHORT Reserved2;
      USHORT DesignatorIndex;
      USHORT Reserved3;
      USHORT DataIndex;
      USHORT Reserved4;
    } NotRange;
  };
} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS;

Membros

UsagePage

Especifica a página de uso para um intervalo de uso ou uso.

ReportID

Especifica a ID do relatório HID que contém o uso ou o intervalo de uso.

IsAlias

Indica, se TRUE, que um botão tem um conjunto de usos de alias. Caso contrário, se IsAlias for FALSE, o botão terá apenas um uso.

BitField

Contém os campos de dados (um ou dois bytes) associados a uma entrada, saída ou recurso main item.

LinkCollection

Especifica o índice da coleção de link na matriz de coleção de link de uma coleção de nível superior que contém o uso ou o intervalo de uso. Se LinkCollection for zero, o intervalo de uso ou uso estará contido na coleção de nível superior.

LinkUsage

Especifica o uso da coleção de link que contém o uso ou o intervalo de uso. Se LinkCollection for zero, LinkUsage especificará o uso da coleção de nível superior.

LinkUsagePage

Especifica a página de uso da coleção de links que contém o uso ou o intervalo de uso. Se LinkCollection for zero, LinkUsagePage especificará a página de uso da coleção de nível superior.

IsRange

Especifica, se TRUE, que a estrutura descreve um intervalo de uso. Caso contrário, se IsRange for FALSE, a estrutura descreverá um único uso.

IsStringRange

Especifica, se TRUE, que o intervalo de uso ou uso tem um conjunto de descritores de cadeia de caracteres. Caso contrário, se IsStringRange for FALSE, o intervalo de uso ou uso terá um descritor de cadeia de caracteres zero ou um.

IsDesignatorRange

Especifica, se TRUE, que o intervalo de uso ou uso tem um conjunto de designadores. Caso contrário, se IsDesignatorRange for FALSE, o intervalo de uso ou uso terá zero ou um designador.

IsAbsolute

Especifica, se TRUE, que o uso do botão ou o intervalo de uso fornece dados absolutos. Caso contrário, se IsAbsolute for FALSE, os dados do botão serão a alteração no estado do valor anterior.

ReportCount

Contagem de relatórios definida por HID. Disponível a partir da versão 2.0 da API. Chame a função HIDP_GetVersion para obter a versão da API.

Reserved2

Reservado para uso interno do sistema.

Reserved[9]

Reservado para uso interno do sistema.

Range

Especifica, se IsRange for TRUE, informações sobre um intervalo de uso. Caso contrário, se IsRange for FALSE, NotRange conterá informações sobre um único uso.

Range.UsageMin

Indica o limite inferior inclusivo do intervalo de uso cujo limite superior inclusivo é especificado por Range.UsageMax.

Range.UsageMax

Indica o limite superior inclusivo de um intervalo de uso cujo limite inferior inclusivo é indicado por Range.UsageMin.

Range.StringMin

Indica o limite inferior inclusivo de um intervalo de descritores de cadeia de caracteres (especificado por itens mínimos de cadeia de caracteres e máximo de cadeia de caracteres) cujo limite superior inclusivo é indicado por Range.StringMax.

Range.StringMax

Indica o limite superior inclusivo de um intervalo de descritores de cadeia de caracteres (especificado por itens mínimos de cadeia de caracteres e máximo de cadeia de caracteres) cujo limite inferior inclusivo é indicado por Range.StringMin.

Range.DesignatorMin

Indica o limite inferior inclusivo de um intervalo de designadores (especificado por itens mínimos designadores e máximos do designador) cujo limite inferior inclusivo é indicado por Range.DesignatorMax.

Range.DesignatorMax

Indica o limite superior inclusivo de um intervalo de designadores (especificado por itens mínimos designadores e máximos do designador) cujo limite inferior inclusivo é indicado por Range.DesignatorMin.

Range.DataIndexMin

Indica o limite inferior inclusivo de um intervalo sequencial de índices de dados que correspondem, um para um e na mesma ordem, aos usos especificados pelo intervalo de uso Range.UsageMin to Range.UsageMax.

Range.DataIndexMax

Indica o limite superior inclusivo de um intervalo sequencial de índices de dados que correspondem, um para um e na mesma ordem, aos usos especificados pelo intervalo de uso Range.UsageMin to Range.UsageMax.

NotRange

Especifica, se IsRange for FALSE, informações sobre um único uso. Caso contrário, se IsRange for TRUE, Range conterá informações sobre um intervalo de uso.

NotRange.Usage

Indica uma ID de uso.

NotRange.Reserved1

Reservado para uso interno do sistema.

NotRange.StringIndex

Indica uma ID do descritor de cadeia de caracteres para o uso especificado por NotRange.Usage.

NotRange.Reserved2

Reservado para uso interno do sistema.

NotRange.DesignatorIndex

Indica uma ID do designador para o uso especificado por NotRange.Usage.

NotRange.Reserved3

Reservado para uso interno do sistema.

NotRange.DataIndex

Indica o índice de dados do uso especificado por NotRange.Usage.

NotRange.Reserved4

Reservado para uso interno do sistema.

Comentários

Os clientes obtêm uma matriz de recursos de botão chamando HidP_GetButtonCaps ou HidP_GetSpecificButtonCaps. Essas rotinas retornam uma matriz de estruturas de HIDP_BUTTON_CAPS em um buffer alocado pelo chamador. O comprimento do buffer necessário é especificado na estrutura de HIDP_CAPS retornada por HidP_GetCaps.

Para obter informações sobre os recursos de valores de controle HID, consulte Capacidade de coleção e Matrizes de funcionalidade de valor.

Quando um descritor de relatório declara uma entrada, saída ou recurso main item com menos declarações de uso do que o ReportCount, o último uso se aplica a toda a contagem não especificada restante nesse item main. Por exemplo, você pode ter dados que exigiam muitos campos para descrever, possivelmente bytes armazenados em buffer. Nesse caso, apenas uma estrutura de limite de valor é alocada para esses campos associados, todos com o mesmo uso e ReportCount reflete o número de campos envolvidos. Normalmente , ReportCount é um. Para acessar todos os campos em tal estrutura de valor, seria necessário usar HidP_GetUsageValueArray e HidP_SetUsageValueArray. As funções HidP_GetUsageValue e HidP_SetScaledUsageValue também funcionarão. No entanto, essas funções funcionam apenas com o primeiro campo da estrutura.

Requisitos

Requisito Valor
Cabeçalho hidpi.h (inclua Hidpi.h)

Confira também