Compartilhar via


estrutura HIDP_VALUE_CAPS (hidpi.h)

A estrutura HIDP_VALUE_CAPS contém informações que descrevem a funcionalidade de um conjunto de valores de controle HID (um único uso ou um intervalo de uso).

Sintaxe

typedef struct _HIDP_VALUE_CAPS {
  USAGE   UsagePage;
  UCHAR   ReportID;
  BOOLEAN IsAlias;
  USHORT  BitField;
  USHORT  LinkCollection;
  USAGE   LinkUsage;
  USAGE   LinkUsagePage;
  BOOLEAN IsRange;
  BOOLEAN IsStringRange;
  BOOLEAN IsDesignatorRange;
  BOOLEAN IsAbsolute;
  BOOLEAN HasNull;
  UCHAR   Reserved;
  USHORT  BitSize;
  USHORT  ReportCount;
  USHORT  Reserved2[5];
  ULONG   UnitsExp;
  ULONG   Units;
  LONG    LogicalMin;
  LONG    LogicalMax;
  LONG    PhysicalMin;
  LONG    PhysicalMax;
  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_VALUE_CAPS, *PHIDP_VALUE_CAPS;

Membros

UsagePage

Especifica a página de uso do 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 o uso é membro de um conjunto de usos com alias. Caso contrário, se IsAlias for FALSE, o valor 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 links em uma matriz de coleção de links 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 links 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á zero ou um descritor de cadeia de caracteres.

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 intervalo de uso ou uso fornece dados absolutos. Caso contrário, se IsAbsolute for FALSE, o valor será a alteração no estado do valor anterior.

HasNull

Especifica, se TRUE, que o uso dá suporte a um valor NULL , o que indica que os dados não são válidos e devem ser ignorados. Caso contrário, se HasNull for FALSE, o uso não terá um valor NULL .

Reserved

Reservado para uso interno do sistema.

BitSize

Especifica o tamanho, em bits, do campo de dados de um uso em um relatório. Se ReportCount for maior que um, cada uso terá um campo de dados separado desse tamanho.

ReportCount

Especifica o número de usos que essa estrutura descreve.

Reserved2[5]

Reservado para uso interno do sistema.

UnitsExp

Especifica o expoente do uso, conforme descrito pelo padrão HID USB.

Units

Especifica as unidades do uso, conforme descrito pelo PADRÃO HID USB.

LogicalMin

Especifica o limite inferior assinado de um uso.

LogicalMax

Especifica o limite superior assinado de um uso.

PhysicalMin

Especifica o limite inferior assinado de um uso depois que o dimensionamento é aplicado ao valor mínimo lógico.

PhysicalMax

Especifica o limite superior assinado de um uso depois que o dimensionamento é aplicado ao valor máximo lógico.

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 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 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 a 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 a 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 valor chamando HidP_GetValueCaps ou HidP_GetSpecificValueCaps. Essas rotinas retornam uma matriz de estruturas HIDP_VALUE_CAPS em um buffer alocado pelo chamador. O comprimento do buffer necessário é especificado na estrutura 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 capacidade de valor.

Requisitos

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

Confira também

HIDP_CAPS

HidP_GetButtonCaps

HidP_GetCaps

HidP_GetSpecificButtonCaps

HidP_GetSpecificValueCaps

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetValueCaps