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) |