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) |