estructura HIDP_BUTTON_CAPS (hidpi.h)
La estructura HIDP_BUTTON_CAPS contiene información sobre la capacidad de un uso de botón de control HID (o un conjunto de botones asociados a un intervalo de uso).
Sintaxis
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;
Miembros
UsagePage
Especifica la página de uso de un intervalo de uso o de uso.
ReportID
Especifica el identificador de informe del informe HID que contiene el intervalo de uso o uso.
IsAlias
Indica, si es TRUE, que un botón tiene un conjunto de usos con alias. De lo contrario, si IsAlias es FALSE, el botón 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 intervalo de uso o uso se encuentra 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 intervalo de uso o 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 intervalo de uso o 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 intervalo de uso o 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 uso del botón o el intervalo de uso proporcionan datos absolutos. De lo contrario, si IsAbsolute es FALSE, los datos del botón son el cambio de estado del valor anterior.
ReportCount
Recuento de informes definido por HID. Disponible a partir de la versión 2.0 de la API. Llame a la función HIDP_GetVersion para obtener la versión de la API.
Reserved2
Reservado para uso interno del sistema.
Reserved[9]
Reservado para uso interno del sistema.
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 solo uso.
Range.UsageMin
Indica el límite inferior inclusivo del intervalo de uso cuyo límite superior inclusivo se especifica mediante Range.UsageMax.
Range.UsageMax
Indica el límite superior inclusivo de un intervalo de uso cuyo límite inferior inclusivo se indica mediante 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 mediante 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 mediante Range.DesignatorMax.
Range.DesignatorMax
Indica el límite superior inclusivo de un intervalo de designadores (especificado por los elementos máximos mínimo 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 solo 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 botón llamando a HidP_GetButtonCaps o HidP_GetSpecificButtonCaps. Estas rutinas devuelven una matriz de estructuras de HIDP_BUTTON_CAPS en un búfer asignado por el autor de la llamada. La longitud necesaria del búfer 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.
Cuando un descriptor de informe declara un elemento principal de entrada, salida o característica con menos declaraciones de uso que ReportCount, el último uso se aplica a todo el recuento no especificado restante en ese elemento principal. Por ejemplo, es posible que tenga datos que requieren muchos campos para describir, posiblemente bytes almacenados en búfer. En este caso, solo se asigna una estructura de límite de valor para estos campos asociados, todos ellos con el mismo uso y ReportCount refleja el número de campos implicados. Normalmente ReportCount es uno. Para acceder a todos los campos de esta estructura de valores, sería necesario usar HidP_GetUsageValueArray y HidP_SetUsageValueArray. Las funciones HidP_GetUsageValue y HidP_SetScaledUsageValue también funcionarán. Sin embargo, estas funciones solo funcionan con el primer campo de la estructura.
Requisitos
Requisito | Valor |
---|---|
Header | hidpi.h (include Hidpi.h) |