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)

Consulte también

HIDP_CAPS

HidP_GetButtonCaps

HidP_GetCaps

HidP_GetSpecificButtonCaps

HidP_GetSpecificValueCaps

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetValueCaps