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:
HidP_GetScaledUsageValue Restituisce un valore firmato e ridimensionato.
HidP_GetUsageValue Restituisce un valore non ridimensionato in un formato senza segno o un valore ridimensionato fuori dall'intervallo Normale.
HidP_GetUsageValueArray Restituisce una matrice di valori di utilizzo.
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:
HidP_GetButtons (o HidP_GetUsages) Restituisce l'ID utilizzo di tutti i pulsanti in una pagina di utilizzo specificata impostata su ON.
HidP_GetButtonsEx (o HidP_GetUsagesEx) Restituisce la pagina di utilizzo e l'ID utilizzo di tutti i pulsanti impostati su ON.
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:
HidP_SetScaledUsageValue Imposta un valore firmato e ridimensionato in un report.
HidP_SetUsageValue Imposta un valore in un report.
HidP_SetUsageValueArray Imposta una matrice di valori di utilizzo in un report.
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:
HidP_SetButtons (o HidP_SetUsages) Imposta un set specificato di pulsanti su ON (1).
HidP_UnsetButtons (o HidP_UnsetUsages) Imposta un set specificato di pulsanti su OFF (zero).
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per