Share via


Interpretazione dei report HID

Questa sezione descrive come le applicazioni in modalità utente e i driver in modalità kernel usano le routine di supporto hiDClassHidP_Xxx per interpretare i dati di controllo in un report HID.

Estrazione dei dati del valore specificando il relativo utilizzo

Per estrarre i dati del valore da un report HID, un'applicazione o un driver può usare una delle routine di supporto HID seguenti:

Per usare HidP_GetUsageValueArray applicazioni e driver devono allocare un buffer zero inizializzato, che è abbastanza grande per contenere la matrice di valori di utilizzo. Le dimensioni necessarie in byte sono il prodotto dei membri BitSize e ReportCount della struttura HIDP_VALUE_CAPS del valore di utilizzo, arrotondati fino al byte più vicino.

Estrazione di utilizzo dei pulsanti impostati su ON

Per estrarre gli usi HID dei pulsanti impostati su ON (1), le applicazioni e i driver chiamano una delle routine di supporto HID seguenti:

Queste routine restituiscono una matrice di tutte le informazioni sull'utilizzo per tutti i pulsanti attualmente impostati su ON. In modo implicito, i pulsanti il cui utilizzo non viene restituito da queste routine vengono impostati su OFF (zero).

Per chiamare queste routine, le applicazioni e i driver devono prima allocare e inizializzare zero il buffer usato per restituire la matrice di utilizzo dei pulsanti. Un'applicazione o un driver chiama HidP_MaxUsageListLength per determinare il numero di utilizzo dei pulsanti in una pagina di utilizzo specificata nel report. Se l'applicazione o il driver specifica una pagina di utilizzo pari a zero, la routine restituisce il numero di tutti gli usi del pulsante nel report.

Le dimensioni del buffer necessarie, in byte, sono le seguenti:

  • (Per HidP_GetButtons) Valore restituito da dimensioni HidP_MaxUsageListLength volteof(USAGE)

  • (Per HidP_GetButtonsEx) Valore restituito da dimensioni HidP_MaxUsageListLength volteof( USAGE_AND_PAGE )

Dopo che un'applicazione o un driver ha usato queste routine per ottenere informazioni sui pulsanti attualmente impostati su ON, può determinare la differenza tra lo stato corrente e lo stato precedente dei pulsanti chiamando una delle routine di supporto HIDClass seguenti. Queste routine restituiscono la differenza tra due matrici di informazioni sull'utilizzo:

Estrazione e impostazione dei dati di controllo per indici di dati

Per usare gli indici di dati per estrarre e impostare i dati di controllo in un report HID, un'applicazione o un driver possono usare le routine di supporto HIDClass seguenti:

Queste routine sono particolarmente utili per un'applicazione o un driver che fornisce un servizio "aggiunto al valore". Ad esempio, una che fornisce un'interfaccia personalizzata a tutti i controlli supportati da un dispositivo HIDClass. Microsoft DirectInput è un esempio.

Chiamando queste routine, un'applicazione o un driver può ottenere e impostare in modo più efficiente tutti i valori in un report. Ad esempio, per ottenere tutti i dati di valore in base agli usi HID , è necessario chiamare HidP_GetUsageValue per ogni utilizzo. Tuttavia, per ottenere tutti i dati di valore per indice dati, è necessario chiamare HidP_GetData una sola volta.

Un'applicazione o un driver usa gli indici di dati specificati in array di funzionalità button di una raccolta e matrici di funzionalità valore per identificare gli usi HID.

Impostazione dei dati del valore specificando il relativo utilizzo

Un'applicazione o un driver possono impostare un valore in un report HID correttamente inizializzato chiamando una delle routine di supporto HID seguenti:

Impostazione dello stato del pulsante specificando il relativo utilizzo

Un'applicazione o un driver può impostare lo stato dei pulsanti in un report HID correttamente inizializzato chiamando una delle routine di supporto HIDClass seguenti:

Estrazione e impostazione dei dati di controllo HID da indici di dati

Per usare gli indici di dati per estrarre e impostare i dati di controllo in un report HID, un'applicazione o un driver possono usare le routine di supporto HIDClass seguenti:

Queste routine sono particolarmente utili per un'applicazione o un driver che fornisce un servizio "aggiunto al valore". Ad esempio, una che fornisce un'interfaccia personalizzata a tutti i controlli supportati da un dispositivo HIDClass. Microsoft DirectInput è un esempio.

Chiamando queste routine, un'applicazione o un driver può ottenere e impostare in modo più efficiente tutti i valori in un report. Ad esempio, per ottenere tutti i dati di valore in base agli usi HID, è necessario chiamare HidP_GetUsageValue per ogni utilizzo. Tuttavia, per ottenere tutti i dati di valore per indice dati, è necessario chiamare HidP_GetData una sola volta.

Un'applicazione o un driver usa gli indici di dati specificati in array di funzionalità button di una raccolta e matrici di funzionalità valore per identificare gli usi HID.

Vedi anche

Inizializzazione dei report HID