Condividi tramite


funzione HidP_GetUsagesEx (hidpi.h)

La routine HidP_GetUsagesEx restituisce un elenco di tutti gli usi del pulsante di controllo HID impostati su ON in un report HID.

Sintassi

NTSTATUS HidP_GetUsagesEx(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USHORT               LinkCollection,
  [in, out] PUSAGE_AND_PAGE      ButtonList,
  [in, out] ULONG                *UsageLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

Parametri

[in] ReportType

Specifica un valore dell'enumeratore HIDP_REPORT_TYPE che identifica il tipo di report.

[in] LinkCollection

Specifica la raccolta di collegamenti degli utilizzi del pulsante. Se LinkCollection è diverso da zero, la routine restituisce solo informazioni sui pulsanti che questa raccolta di collegamenti contiene; in caso contrario, se LinkCollection è zero, la routine restituisce informazioni su tutti i pulsanti dell'insieme di livello superiore associato a PreparsedData.

[in, out] ButtonList

Puntatore a un buffer allocato dal chiamante usato dalla routine per restituire gli identificatori di pagina di utilizzo e utilizzo per ogni pulsante impostato su ON (1).

[in, out] UsageLength

Specifica, in input, la lunghezza, negli elementi della matrice, del buffer ButtonList . Specifica, nell'output, l'utilizzo del numero attualmente impostato su ON nel report specificato.

[in] PreparsedData

Puntatore ai dati preparati di un insieme di livello superiore.

[in] Report

Puntatore a un report contenente i dati del pulsante.

[in] ReportLength

Specifica la lunghezza, in byte, del report disponibile in Report.

Valore restituito

HidP_GetUsagesEx restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
HIDP_STATUS_SUCCESS
La routine ha restituito tutti gli utilizzi dei pulsanti impostati su ON.
HIDP_INVALID_REPORT_LENGTH
La lunghezza del report non è valida.
HIDP_INVALID_REPORT_TYPE
Il tipo di report specificato non è valido.
HIDP_STATUS_BUFFER_TOO_SMALL
Il buffer UsageList è troppo piccolo per contenere tutti gli utilizzi attualmente impostati su ON nel report specificato.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
La raccolta contiene pulsanti in un report del tipo specificato, ma non sono presenti tali usi nel report specificato.
HIDP_STATUS_INVALID_PREPARSED_DATA
I dati preparati non sono validi.

Commenti

Le applicazioni in modalità utente e i driver in modalità kernel chiamano HidP_MaxUsageListLength per determinare il numero massimo di pulsanti restituiti per il tipo di report specificato. In alternativa, le applicazioni o i driver possono chiamare HidP_GetUsagesEx e impostare (*UsageLength) su zero per restituire la lunghezza richiesta in UsageLength. In altre parole, UsageLength deve essere un puntatore valido che punta a un valore ULONG 0 per ottenere la lunghezza necessaria.

Le applicazioni o i driver determinano la lunghezza del report necessaria dai membri XxxReportByteLength in una struttura di HIDP_CAPS di livello superiore.

Per altre informazioni, vedere Raccolte HID.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 2000 e versioni successive di Windows.
Piattaforma di destinazione Universale
Intestazione hidpi.h (include Hidpi.h)
Libreria Hidparse.lib
IRQL <= DISPATCH_LEVEL

Vedi anche

HidP_GetButtons

HidP_GetButtonsEx

HidP_GetCaps

HidP_GetScaledUsageValue

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetUsagesEx

HidP_MaxUsageListLength

USAGE_AND_PAGE

_HIDP_PREPARSED_DATA