Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Una matrice di funzionalità del pulsante contiene informazioni sull'utilizzo dei pulsanti supportati da una raccolta di livello superiore per un tipo specifico di report HID. Le informazioni sulla funzionalità di una raccolta sono contenute nella struttura HIDP_CAPS .
Un'applicazione in modalità utente o un driver in modalità kernel usa una delle routine di supporto HIDClass seguenti per ottenere informazioni sulle funzionalità dei pulsanti:
HidP_GetButtonCaps restituisce una matrice di funzionalità del pulsante che descrive tutti gli utilizzi dei pulsanti contenuti in un tipo di report specificato.
HidP_GetSpecificButtonCaps filtra le informazioni sulle funzionalità del pulsante restituite da una pagina di utilizzo specificata dal chiamante, dall'ID di utilizzo e dalla raccolta di collegamenti.
Una matrice di funzionalità del pulsante contiene strutture HIDP_BUTTON_CAPS, ognuna delle quali contiene le seguenti informazioni su un utilizzo hid o su un intervallo di utilizzo:
Pagina di utilizzo per l'utilizzo o l'intervallo di utilizzo
L'ID del report che contiene i dati del pulsante
Identificativo utilizzo o intervallo di utilizzo
Un flag che indica se l'uso è un utilizzo con alias
Raccolta di collegamenti che contiene l'intervallo di uso o utilizzo
Descrittori di stringa e designatori associati all'utilizzo o all'intervallo di utilizzo (vedere elemento Indice designatori e elemento Indice stringa)
Gli indici di dati che il parser HID ha assegnato all'utilizzo o all'intervallo di utilizzo.
In generale, le condizioni seguenti contengono tutti gli utilizzi descritti da una matrice di funzionalità del pulsante:
Ogni struttura di funzionalità rappresenta un singolo intervallo di utilizzo o utilizzo associato a un elemento principale della variabile o a un elemento principale della matrice.
Gli utilizzi con alias possono essere usati con un elemento principale variabile. Non è possibile creare un alias per un utilizzo associato a un elemento di matrice. Non è possibile aliasare un intervallo di utilizzo.
Il parser HID usa solo il numero minimo necessario di utilizzi per assegnare un utilizzo a ogni pulsante. Il parser assegna gli utilizzi nell'ordine in cui vengono specificati in un descrittore di report. Gli utilizzi in un descrittore di report non necessari vengono eliminati. La matrice di funzionalità del pulsante non contiene informazioni sugli utilizzi eliminati.
Se il numero di utilizzi specificati per un elemento variabile è minore del numero di pulsanti nell'elemento, la matrice di funzionalità contiene una sola struttura di funzionalità che descrive l'utilizzo di un pulsante (l'ultimo utilizzo specificato nel descrittore del report per l'elemento principale della variabile). Per informazioni sui valori di utilizzo con un numero di report maggiore di uno, vedere Matrice dei Valori di Utilizzo.
Il parser HID assegna un indice dati univoco a ogni utilizzo descritto nella matrice di funzionalità.
Gli argomenti seguenti illustrano come le strutture delle funzionalità sono organizzate e impostate in una matrice di funzionalità dei pulsanti:
- Utilizzi dei pulsanti in un elemento principale variabile
- Utilizzo dei pulsanti in un elemento principale della matrice
Utilizzi dei pulsanti in un elemento principale variabile
Ogni intervallo di utilizzo o utilizzo specificato in un descrittore di report è descritto dalla propria struttura di funzionalità in una matrice di funzionalità del pulsante.
Il membro IsAlias delle strutture di funzionalità viene usato per specificare un set di n utilizzi con alias come indicato di seguito:
- IsAlias è impostato su TRUE nelle prime strutture di funzionalità n-1 aggiunte alla matrice di funzionalità. IsAlias impostato su FALSE nella n-esima struttura di funzionalità. L'utilizzo preferito è l'ultimo utilizzo con alias nella sequenza.
Un'applicazione o un driver può determinare quali utilizzi dei pulsanti vengono aliasati eseguendo l'analisi di tali sequenze.
La tabella seguente riepiloga un esempio per tre utilizzi con alias.
| Ordine di utilizzo con alias in un descrittore di report | Ordine di utilizzo in una matrice di funzionalità | Valore del membro IsAlias |
|---|---|---|
| utilizzo 1 | utilizzo 3 | TRUE |
| utilizzo 2 | utilizzo 2 | TRUE |
| utilizzo 3 | utilizzo 1 | FALSO |
Per informazioni sull'utilizzo e sugli indici di dati a cui viene fatto riferimento incrociato, vedere Indici di dati.
Utilizzo dei pulsanti in un elemento principale della matrice
Ogni uso o intervallo di uso per un elemento principale dell'array di pulsanti specificato in un descrittore di report è descritto dalla propria struttura di capacità in un array delle capacità dei pulsanti. L'ordine in cui le strutture di funzionalità vengono aggiunte a una matrice di funzionalità è l'inverso dell'ordine in cui vengono specificati gli utilizzi per un elemento principale.
Il parser HID assegna un indice dati a ogni utilizzo associato all'elemento della matrice nell'ordine in cui gli utilizzi vengono specificati in un descrittore di report. Ad esempio, nella tabella seguente viene illustrata la corrispondenza tra un set di utilizzi, come specificato in un descrittore di report e gli indici di dati e di utilizzo, come specificato nella matrice di funzionalità. In questa tabella n è il primo indice dati assegnato dal parser al primo utilizzo associato all'elemento della matrice.
| Ordine di utilizzo nel descrittore di report | Ordine di utilizzo nella matrice di funzionalità | DataIndex o da DataIndexMin a DataIndexMax |
|---|---|---|
| utilizzo 1 | intervallo di utilizzo 2 | da n+7 a n+8 |
| intervallo di utilizzo 1 (con 4 utilizzi) | utilizzo 2 | n+5 |
| utilizzo 2 | intervallo di utilizzo 1 | da n+1 a n+4 |
| intervallo di utilizzo 2 (con 2 utilizzi) | utilizzo 1 | n |