HidP_SetButtonArray Funktion (hidpi.h)

Die HidP_SetButtonArray-Funktion legt den Status von Schaltflächen über ein Array von HIDP_BUTTON_ARRAY_DATA Strukturen fest.

Syntax

NTSTATUS HidP_SetButtonArray(
  HIDP_REPORT_TYPE        ReportType,
  USAGE                   UsagePage,
  USHORT                  LinkCollection,
  USAGE                   Usage,
  PHIDP_BUTTON_ARRAY_DATA ButtonData,
  USHORT                  ButtonDataLength,
  PHIDP_PREPARSED_DATA    PreparsedData,
  PCHAR                   Report,
  ULONG                   ReportLength
);

Parameter

ReportType

Ein Wert von HidP_Output oder HidP_Feature aus der HIDP_REPORT_TYPE Enumeration.

UsagePage

Die Verwendungsseite, auf die sich die angegebene Verwendung bezieht.

LinkCollection

(Optional) Dieser Wert kann verwendet werden, um zwischen zwei Feldern zu unterscheiden, die möglicherweise dieselbe UsagePage und Verwendung aufweisen, aber in verschiedenen Auflistungen vorhanden sind. Wenn der Wert HIDP_LINK_COLLECTION_UNSPECIFIED ist, wird das erste gefundene Schaltflächenarray, das mit " UsagePage " und " Verwendung " übereinstimmen, unabhängig vom Speicherort zurückgegeben. Wenn der Wert HIDP_LINK_COLLECTION_ROOT ist, wird das erste gefundene Schaltflächenarray in der Stammauflistung zurückgegeben, die mit " UsagePage " und " Usage " übereinstimmt.

Usage

Die Verwendung, deren Schaltflächenarray HidP_SetButtonArray festgelegt wird.

ButtonData

Der Puffer mit den Werten, die in das Schaltflächenarray festgelegt werden sollen.

ButtonDataLength

Anzahl der Elemente im ButtonData-Puffer .

PreparsedData

Die analysierten Daten, die von HIDCLASS zurückgegeben wurden.

Report

Das Berichtspaket. Das erste Byte muss die ReportId sein.

ReportLength

Länge des angegebenen Berichtspakets in Bytes.

Rückgabewert

HidP_SetButtonArray gibt einen der folgenden Statuswerte zurück:

Rückgabecode Beschreibung
HIDP_STATUS_SUCCESS Das Schaltflächenarray im Berichtspaket wurde erfolgreich festgelegt.
HIDP_STATUS_INVALID_REPORT_TYPE ReportType ist ungültig.
HIDP_STATUS_INVALID_PREPARSED_DATA PreparsedData ist ungültig.
HIDP_STATUS_INVALID_REPORT_LENGTH Die Länge des Berichtspakets entspricht nicht der Länge, die in der HIDP_CAPS Struktur für den angegebenen ReportType angegeben ist.
HIDP_STATUS_REPORT_DOES_NOT_EXIST Es gibt keine Berichte auf diesem Gerät für den angegebenen ReportType
HIDP_STATUS_NOT_BUTTON_ARRAY Das angegebene Steuerelement ist kein Schaltflächenarray
HIDP_STATUS_INCOMPATIBLE_REPORT_ID Die angegebene Verwendungsseite, Verwendung und Verknüpfungssammlung ist in einem Bericht mit einer anderen Berichts-ID vorhanden als der Bericht, in dem der Bericht übergeben wird
HIDP_STATUS_USAGE_NOT_FOUND Die Kombination der Verwendungsseite, der Verwendung und der Verknüpfungssammlung ist in keinem Bericht für diesen ReportType vorhanden.
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE Der ArrayIndex für eine der bereitgestellten HIDP_BUTTON_ARRAY_DATA Strukturen befindet sich außerhalb des gültigen Bereichs für dieses Schaltflächenarray.

Bemerkungen

HidP_SetButtonArray legt den Status der Schaltflächen für das erste Schaltflächenarray fest, das innerhalb der angegebenen LinkCollection gefunden wurde, wobei die angegebene Verwendung für den angegebenen Bericht angegeben wird.

Der Aufrufer sollte HidP_GetVersion verwenden, um festzustellen, ob diese Funktion verfügbar ist. HidP_SetButtonArray ist nur verfügbar, wenn HidP_GetVersion einen Wert von zwei oder mehr zurückgibt. Version 2 der API entspricht Windows 11.

Ein Schaltflächenarray tritt auf, wenn die letzte Verwendung in der Sequenz von Verwendungen, die ein Hauptelement beschreiben, wiederholt werden muss, da weniger Verwendungen definiert sind als der für das angegebene Hauptelement deklarierte ReportCount . In diesem Fall wird eine einzelne HIDP_BUTTON_CAPS für diese Verwendung zugewiesen, und der ReportCount der HIDP_BUTTON_CAPS wird so festgelegt, dass die Anzahl der Felder, auf die die Verwendung verweist, berücksichtigt wird.

Ein HIDP_BUTTON_CAPS , der ein Schaltflächenarray beschreibt, verfügt immer über "ReportCount" , der größer als eins ist. Wenn ReportCount einem entspricht, handelt es sich nicht um ein Schaltflächenarray und kann nicht mit HidP_SetButtonArray verwendet werden. Weitere Informationen finden Sie unter HidP_SetUsages.

Anforderungen

   
Header hidpi.h

Weitere Informationen