Condividi tramite


funzione HidP_SetData (hidpi.h)

La routine HidP_SetData imposta un set specificato di utilizzo di pulsanti di controllo HID e valori in un report HID.

Sintassi

NTSTATUS HidP_SetData(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in, out] PHIDP_DATA           DataList,
  [in, out] PULONG               DataLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

Parametri

[in] ReportType

Specifica un valore enumeratore HIDP_REPORT_TYPE che indica il tipo di report HID disponibile in Report.

[in, out] DataList

Puntatore a una matrice allocata dal chiamante di strutture HIDP_DATA che specificano i pulsanti e i valori di utilizzo da impostare.

[in, out] DataLength

Specifica, all'input, il numero di membri nella matrice DataList . Per informazioni sul valore di output, vedere la sezione Osservazioni.

[in] PreparsedData

Puntatore ai dati pronti di primo livello.

[in] Report

Puntatore a un report HID.

[in] ReportLength

Specifica le dimensioni, in byte, del report HID che si trova in Report, che deve essere uguale alla lunghezza del report per il tipo di report specificato che HidP_GetCaps restituisce nella struttura HIDP_CAPS di una raccolta.

Valore restituito

HidP_SetData restituisce HIDP_STATUS_SUCCESS se vengono impostati correttamente tutti i dati del controllo specificati da DataList.

HidP_SetData restituisce uno dei valori di stato seguenti se uno dei parametri di input non è valido:

Codice restituito Descrizione
HIDP_STATUS_INVALID_PREPARSED_DATA
I dati pronti specificati da PreparsedData non sono validi.
HIDP_STATUS_INVALID_REPORT_LENGTH
Le dimensioni, in byte, del report HID non sono uguali alla lunghezza specificata nella struttura HIDP_CAPS della raccolta per il tipo di report specificato.
HIDP_STATUS_INVALID_REPORT_TYPE
ReportType non valido.
HIDP_STATUS_REPORT_DOES_NOT_EXIST
La raccolta non contiene un report del tipo specificato.
 

HidP_SetData restituisce uno dei valori di errore seguenti se non è stato possibile impostare uno dei valori di utilizzo o del pulsante specificato:

Codice restituito Descrizione
HIDP_STATUS_BUFFER_TOO_SMALL
Un pulsante in una matrice non è stato impostato su ON (1) perché tutti i campi della matrice sono già usati per indicizzare altri pulsanti.
HIDP_STATUS_BUTTON_NOT_PRESSED
Un membro DataList specifica di impostare un pulsante OFF (zero), ma il pulsante è già impostato su OFF.
HIDP_STATUS_DATA_INDEX_NOT_FOUND
L'indice dati di un membro DataList non è valido.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
Un pulsante o un valore di utilizzo è contenuto in un report, ma non è incluso nel report specificato.
HIDP_STATUS_IS_VALUE_ARRAY
Un indice dati specifica una matrice di valori di utilizzo.

Commenti

Ad eccezione delle matrici di valori di utilizzo, un'applicazione in modalità utente o un driver in modalità kernel può usare HidP_SetData per impostare pulsanti e valori di utilizzo in un report. Per impostare una matrice di valori di utilizzo, un'applicazione o un driver deve usare HidP_SetUsageValueArray.

HidP_SetData imposta il valore di output di DataLength come indicato di seguito:

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 PASSIVE_LEVEL

Vedi anche

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA