estructura de HIDP_VALUE_CAPS (hidpi.h)
La estructura de HIDP_VALUE_CAPS contiene información que describe la funcionalidad de un conjunto de valores de control HID (un único uso o un intervalo de uso).
Sintaxis
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;
Miembros
UsagePage
Especifica la página de uso del intervalo de uso o uso.
ReportID
Especifica el identificador de informe del informe HID que contiene el uso o el intervalo de uso.
IsAlias
Indica, si es TRUE, que el uso es miembro de un conjunto de usos con alias. De lo contrario, si IsAlias es FALSE, el valor solo tiene un uso.
BitField
Contiene los campos de datos (uno o dos bytes) asociados a un elemento principal de entrada, salida o característica.
LinkCollection
Especifica el índice de la colección de vínculos en una matriz de colección de vínculos de nivel superior que contiene el uso o el intervalo de uso. Si LinkCollection es cero, el uso o el intervalo de uso se incluye en la colección de nivel superior.
LinkUsage
Especifica el uso de la colección de vínculos que contiene el uso o el intervalo de uso. Si LinkCollection es cero, LinkUsage especifica el uso de la colección de nivel superior.
LinkUsagePage
Especifica la página de uso de la colección de vínculos que contiene el uso o el intervalo de uso. Si LinkCollection es cero, LinkUsagePage especifica la página de uso de la colección de nivel superior.
IsRange
Especifica, si es TRUE, que la estructura describe un intervalo de uso. De lo contrario, si IsRange es FALSE, la estructura describe un único uso.
IsStringRange
Especifica, si es TRUE, que el uso o el intervalo de uso tiene un conjunto de descriptores de cadena. De lo contrario, si IsStringRange es FALSE, el intervalo de uso o uso tiene cero o un descriptor de cadena.
IsDesignatorRange
Especifica, si es TRUE, que el uso o el intervalo de uso tiene un conjunto de designadores. De lo contrario, si IsDesignatorRange es FALSE, el intervalo de uso o uso tiene cero o un designador.
IsAbsolute
Especifica, si es TRUE, que el intervalo de uso o uso proporciona datos absolutos. De lo contrario, si IsAbsolute es FALSE, el valor es el cambio en estado del valor anterior.
HasNull
Especifica, si es TRUE, que el uso admite un valor NULL , que indica que los datos no son válidos y se deben omitir. De lo contrario, si HasNull es FALSE, el uso no tiene un valor NULL .
Reserved
Reservado para uso interno del sistema.
BitSize
Especifica el tamaño, en bits, del campo de datos de un uso en un informe. Si ReportCount es mayor que uno, cada uso tiene un campo de datos independiente de este tamaño.
ReportCount
Especifica el número de usos que describe esta estructura.
Reserved2[5]
Reservado para uso interno del sistema.
UnitsExp
Especifica el exponente del uso, tal y como se describe en el estándar USB HID.
Units
Especifica las unidades de uso, tal y como se describe en el estándar HID usb.
LogicalMin
Especifica el límite inferior firmado de un uso.
LogicalMax
Especifica el límite superior con signo de un uso.
PhysicalMin
Especifica el límite inferior firmado de un uso después de aplicar el escalado al valor mínimo lógico.
PhysicalMax
Especifica el límite superior firmado de un uso después de aplicar el escalado al valor máximo lógico.
Range
Especifica, si IsRange es TRUE, información sobre un intervalo de uso. De lo contrario, si IsRange es FALSE, NotRange contiene información sobre un único uso.
Range.UsageMin
Indica el límite inferior inclusivo del intervalo de uso cuyo límite superior inclusivo se especifica en Range.UsageMax.
Range.UsageMax
Indica el límite superior inclusivo de un intervalo de uso cuyo límite inferior inclusivo está indicado por Range.UsageMin.
Range.StringMin
Indica el límite inferior inclusivo de un intervalo de descriptores de cadena (especificados por los elementos máximos de cadena y mínimo de cadena) cuyo límite superior inclusivo se indica en Range.StringMax.
Range.StringMax
Indica el límite superior inclusivo de un intervalo de descriptores de cadena (especificados por los elementos máximos de cadena y mínimo de cadena) cuyo límite inferior inclusivo se indica mediante Range.StringMin.
Range.DesignatorMin
Indica el límite inferior inclusivo de un intervalo de designadores (especificado por los elementos máximos mínimo y designador) cuyo límite inferior inclusivo se indica en Range.DesignatorMax.
Range.DesignatorMax
Indica el límite superior inclusivo de un intervalo de designadores (especificado por los elementos máximos de designador y designador) cuyo límite inferior inclusivo se indica mediante Range.DesignatorMin.
Range.DataIndexMin
Indica el límite inferior inclusivo de un intervalo secuencial de índices de datos que corresponden, uno a uno y en el mismo orden, a los usos especificados por el intervalo de uso Range.UsageMin a Range.UsageMax.
Range.DataIndexMax
Indica el límite superior inclusivo de un intervalo secuencial de índices de datos que corresponden, uno a uno y en el mismo orden, a los usos especificados por el intervalo de uso Range.UsageMin a Range.UsageMax.
NotRange
Especifica, si IsRange es FALSE, información sobre un único uso. De lo contrario, si IsRange es TRUE, Range contiene información sobre un intervalo de uso.
NotRange.Usage
Indica un identificador de uso.
NotRange.Reserved1
Reservado para uso interno del sistema.
NotRange.StringIndex
Indica un identificador de descriptor de cadena para el uso especificado por NotRange.Usage.
NotRange.Reserved2
Reservado para uso interno del sistema.
NotRange.DesignatorIndex
Indica un identificador de designador para el uso especificado por NotRange.Usage.
NotRange.Reserved3
Reservado para uso interno del sistema.
NotRange.DataIndex
Indica el índice de datos del uso especificado por NotRange.Usage.
NotRange.Reserved4
Reservado para uso interno del sistema.
Comentarios
Los clientes obtienen una matriz de funcionalidad de valor llamando a HidP_GetValueCaps o HidP_GetSpecificValueCaps. Estas rutinas devuelven una matriz de estructuras de HIDP_VALUE_CAPS en un búfer asignado por el autor de la llamada. La longitud del búfer necesaria se especifica en la estructura HIDP_CAPS devuelta por HidP_GetCaps.
Para obtener información acerca de las funcionalidades de los valores de control HID, vea Collection Capability and Value Capability Arrays.
Requisitos
Requisito | Valor |
---|---|
Header | hidpi.h (incluya Hidpi.h) |