struttura HIDP_VALUE_CAPS (hidpi.h)

La struttura HIDP_VALUE_CAPS contiene informazioni che descrivono la funzionalità di un set di valori di controllo HID (un singolo utilizzo o un intervallo di utilizzo).

Sintassi

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;

Members

UsagePage

Specifica la pagina di utilizzo dell'intervallo di utilizzo o dell'intervallo di utilizzo.

ReportID

Specifica l'ID report del report HID che contiene l'intervallo di utilizzo o di utilizzo.

IsAlias

Indica, se TRUE, che l'utilizzo è membro di un set di utilizzi con alias. In caso contrario, se IsAlias è FALSE, il valore ha un solo utilizzo.

BitField

Contiene i campi dati (uno o due byte) associati a un elemento principale di input, output o funzionalità.

LinkCollection

Specifica l'indice della raccolta di collegamenti in una matrice di raccolte di collegamenti di primo livello che contiene l'intervallo di utilizzo o di utilizzo. Se LinkCollection è zero, l'utilizzo o l'intervallo di utilizzo è contenuto nella raccolta di livello superiore.

LinkUsage

Specifica l'utilizzo della raccolta di collegamenti che contiene l'intervallo di utilizzo o di utilizzo. Se LinkCollection è zero, LinkUsage specifica l'utilizzo della raccolta di primo livello.

LinkUsagePage

Specifica la pagina di utilizzo della raccolta di collegamenti che contiene l'intervallo di utilizzo o di utilizzo. Se LinkCollection è zero, LinkUsagePage specifica la pagina di utilizzo della raccolta di primo livello.

IsRange

Specifica, se TRUE, che la struttura descrive un intervallo di utilizzo. In caso contrario, se IsRange è FALSE, la struttura descrive un singolo utilizzo.

IsStringRange

Specifica, se TRUE, che l'intervallo di utilizzo o di utilizzo dispone di un set di descrittori di stringa. In caso contrario, se IsStringRange è FALSE, l'utilizzo o l'intervallo di utilizzo ha zero o un descrittore di stringa.

IsDesignatorRange

Specifica, se TRUE, che l'intervallo di utilizzo o l'intervallo di utilizzo dispone di un set di designatori. In caso contrario, se IsDesignatorRange è FALSE, l'intervallo di utilizzo o di utilizzo ha zero o un designatore.

IsAbsolute

Specifica, se TRUE, che l'intervallo di utilizzo o di utilizzo fornisce dati assoluti. In caso contrario, se IsAbsolute è FALSE, il valore corrisponde alla modifica dello stato rispetto al valore precedente.

HasNull

Specifica, se TRUE, che l'utilizzo supporta un valore NULL , che indica che i dati non sono validi e devono essere ignorati. In caso contrario, se HasNull è FALSE, l'utilizzo non ha un valore NULL .

Reserved

Riservato per l'uso interno del sistema.

BitSize

Specifica le dimensioni, in bit, del campo dati di un utilizzo in un report. Se ReportCount è maggiore di uno, ogni utilizzo ha un campo dati separato di questa dimensione.

ReportCount

Specifica il numero di utilizzi descritti da questa struttura.

Reserved2[5]

Riservato per l'uso interno del sistema.

UnitsExp

Specifica l'esponente dell'utilizzo, come descritto dallo standard USB HID.

Units

Specifica le unità di utilizzo, come descritto dallo standard HID USB.

LogicalMin

Specifica il limite inferiore firmato di un utilizzo.

LogicalMax

Specifica il limite superiore firmato di un utilizzo.

PhysicalMin

Specifica il limite inferiore firmato di un utilizzo dopo l'applicazione del ridimensionamento al valore minimo logico.

PhysicalMax

Specifica il limite superiore di un utilizzo firmato dopo l'applicazione del ridimensionamento al valore massimo logico.

Range

Specifica se IsRange è TRUE, informazioni su un intervallo di utilizzo. In caso contrario, se IsRange è FALSE, NotRange contiene informazioni su un singolo utilizzo.

Range.UsageMin

Indica il limite inferiore inclusivo dell'intervallo di utilizzo il cui limite superiore inclusivo è specificato da Range.UsageMax.

Range.UsageMax

Indica il limite superiore inclusivo di un intervallo di utilizzo il cui limite inferiore inclusivo è indicato da Range.UsageMin.

Range.StringMin

Indica il limite inferiore inclusivo di un intervallo di descrittori di stringa (specificato da elementi stringa minimo e massimo stringa) il cui limite superiore inclusivo è indicato da Range.StringMax.

Range.StringMax

Indica il limite superiore inclusivo di un intervallo di descrittori di stringa (specificato da elementi stringa minimo e massimo stringa) il cui limite inferiore inclusivo è indicato da Range.StringMin.

Range.DesignatorMin

Indica il limite inferiore inclusivo di un intervallo di designatori (specificato dagli elementi massimi di designatore e minimo progettazione) il cui limite inferiore inclusivo è indicato da Range.DesignatorMax.

Range.DesignatorMax

Indica il limite superiore inclusivo di un intervallo di designatori (specificato dagli elementi massimi di progettazione e minimo progettazione) il cui limite inferiore inclusivo è indicato da Range.DesignatorMin.

Range.DataIndexMin

Indica il limite inferiore inclusivo di un intervallo sequenziale di indici di dati che corrispondono, uno a uno e nello stesso ordine, agli utilizzi specificati dall'intervallo di utilizzo Range.UsageMin to Range.UsageMax.

Range.DataIndexMax

Indica il limite superiore inclusivo di un intervallo sequenziale di indici di dati che corrispondono, uno a uno e nello stesso ordine, agli utilizzi specificati dall'intervallo di utilizzo Range.UsageMin to Range.UsageMax.

NotRange

Specifica se IsRange è FALSE, informazioni su un singolo utilizzo. In caso contrario, se IsRange è TRUE, Range contiene informazioni su un intervallo di utilizzo.

NotRange.Usage

Indica un ID di utilizzo.

NotRange.Reserved1

Riservato per l'uso interno del sistema.

NotRange.StringIndex

Indica un ID descrittore stringa per l'utilizzo specificato da NotRange.Usage.

NotRange.Reserved2

Riservato per l'uso interno del sistema.

NotRange.DesignatorIndex

Indica un ID di progettazione per l'utilizzo specificato da NotRange.Usage.

NotRange.Reserved3

Riservato per l'uso interno del sistema.

NotRange.DataIndex

Indica l'indice dei dati dell'utilizzo specificato da NotRange.Usage.

NotRange.Reserved4

Riservato per l'uso interno del sistema.

Commenti

I client ottengono una matrice di funzionalità di valore chiamando HidP_GetValueCaps o HidP_GetSpecificValueCaps. Queste routine restituiscono una matrice di strutture HIDP_VALUE_CAPS in un buffer allocato dal chiamante. La lunghezza del buffer richiesta viene specificata nella struttura HIDP_CAPS restituita da HidP_GetCaps.

Per informazioni sulle funzionalità dei valori di controllo HID, vedere Array di funzionalità di raccolta e funzionalità di valore.

Requisiti

Requisito Valore
Intestazione hidpi.h (include Hidpi.h)

Vedi anche

HIDP_CAPS

HidP_GetButtonCaps

HidP_GetCaps

HidP_GetSpecificButtonCaps

HidP_GetSpecificValueCaps

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetValueCaps