Compartir a través de


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)

Consulte también