Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Schaltflächenfunktionsarray enthält Informationen zu den Schaltflächennutzungen, die von einer Sammlung auf oberster Ebene für einen bestimmten HID-Bericht unterstützt werden. Informationen zur Funktion einer Sammlung sind in der HIDP_CAPS Struktur enthalten.
Eine Benutzermodusanwendung oder ein Kernelmodustreiber verwendet eine der folgenden HIDClass-Supportroutinen , um Informationen zur Schaltflächenfunktion abzurufen:
HidP_GetButtonCaps gibt ein Schaltflächenfunktionsarray zurück, das alle Schaltflächennutzungen beschreibt, die in einem angegebenen Berichtstyp enthalten sind.
HidP_GetSpecificButtonCaps filtert die Schaltflächenfunktionsinformationen, die von einer aufrufer angegebenen Verwendungsseite, Verwendungs-ID und Linksammlung zurückgegeben werden.
Ein Schaltflächenfunktionsarray enthält HIDP_BUTTON_CAPS Strukturen, die jeweils die folgenden Informationen zu einer HID-Verwendung oder einem Verwendungsbereich enthalten:
Die Verwendungsseite für den Anwendungsbereich
Die Berichts-ID des Berichts, der die Schaltflächendaten enthält
Die Verwendungs-ID oder der Verwendungsbereich
Ein Flag, das angibt, ob es sich bei einer Verwendung um eine aliasierte Verwendung handelt
Die Verknüpfungssammlung, die die Nutzung oder den Verwendungsbereich enthält
Die mit der Verwendung oder dem Verwendungsbereich verbundenen Zeichendeskriptoren und Designatoren (siehe Designator-Indexelement und Zeichenfolgen-Indexelement)
Die Datenindizes, die der HID-Parser der Verwendung oder dem Verwendungsbereich zugewiesen hat
Allgemein gelten die folgenden Bedingungen für alle Verwendungen, die durch ein Tastenfunktionsarray beschrieben werden:
Jede Funktionsstruktur stellt einen einzelnen Verwendungs- oder Verwendungsbereich dar, der einem variablen Hauptelement oder einem Array-Hauptelement zugeordnet ist.
Aliasverwendungen können mit einem variablen Hauptelement verwendet werden. Eine Verwendung, die einem Arrayelement zugeordnet ist, kann nicht aliast werden. Ein Verwendungsbereich kann nicht aliasiert werden.
Der HID-Parser verwendet nur die minimale erforderliche Anzahl von Verwendungen, um jeder Schaltfläche eine Verwendung zuzuweisen. Der Parser weist Verwendungen in der Reihenfolge zu, in der sie in einem Berichtsdeskriptor angegeben sind. Verwendungen in einem Berichtsdeskriptor, der nicht erforderlich ist, werden verworfen. Das Schaltflächenfunktionsarray enthält keine Informationen zu verworfenen Verwendungen.
Wenn die Anzahl der für ein Variablenelement angegebenen Verwendungen kleiner als die Anzahl der Schaltflächen im Element ist, enthält das Funktionsarray nur eine Funktionsstruktur, die eine Schaltflächenverwendung beschreibt (die letzte Verwendung, die im Berichtsdeskriptor für das variable Hauptelement angegeben ist). Informationen zu Verwendungswerten, deren Berichtsanzahl größer als eins ist, finden Sie jedoch unter Usage Value Array.
Der HID-Parser weist jeder im Funktionsarray beschriebenen Verwendung einen eindeutigen Datenindex zu.
In den folgenden Themen wird erläutert, wie die Funktionsstrukturen organisiert und in einem Schaltflächenfunktionsarray festgelegt werden:
- Schaltflächenverwendungen in einem variablen Hauptelement
- Schaltflächenverwendungen in einem Array-Hauptelement
Schaltflächenverwendungen in einem variablen Hauptelement
Jede Nutzung oder Verwendungsbereich, der in einem Berichtsdeskriptor angegeben ist, wird durch seine eigene Funktionsstruktur in einem Schaltflächenfunktionsarray beschrieben.
Das IsAlias-Element von Funktionsstrukturen wird verwendet, um eine Reihe von n aliasierten Verwendungen wie folgt anzugeben:
- IsAlias wird auf TRUE in den ersten n-1 Fähigkeitsstrukturen festgelegt, die dem Fähigkeitsarray hinzugefügt wurden. IsAlias wird in der n-ten Fähigkeitsstruktur auf FALSE gesetzt. Die bevorzugte Verwendung ist die letzte aliasisierte Verwendung in der Sequenz.
Eine Anwendung oder ein Treiber kann bestimmen, welche Schaltflächenverwendungen durch Suchen nach solchen Sequenzen aliisiert werden.
In der folgenden Tabelle wird ein Beispiel für drei aliasierte Verwendungen zusammengefasst.
| Alias-Verwendungsreihenfolge in einem Berichtsdeskriptor | Verwendungsreihenfolge in einem Fähigkeitsarray | IsAlias-Memberwert |
|---|---|---|
| Verwendung 1 | Verwendung 3 | STIMMT |
| Verwendung 2 | Verwendung 2 | STIMMT |
| Verwendung 3 | Verwendung 1 | FALSCH |
Informationen dazu, wie Verwendungen und Datenindizes quergereferenziert werden, finden Sie unter Datenindizes.
Schaltflächenverwendungen in einem Array-Hauptelement
Jeder Verwendungs - oder Verwendungsbereich für ein schaltflächenarray-Hauptelement, das in einem Berichtsdeskriptor angegeben ist, wird durch seine eigene Funktionsstruktur in einem Schaltflächenfunktionsarray beschrieben. Die Reihenfolge, in der die Funktionsstrukturen einem Funktionsarray hinzugefügt werden, ist die umgekehrte Reihenfolge, in der die Verwendungen für ein Hauptelement angegeben werden.
Der HID-Parser weist jeder Verwendung, die dem Arrayelement zugeordnet ist, einen Datenindex in der Reihenfolge zu, in der die Verwendungen in einem Berichtsdeskriptor angegeben werden. Die folgende Tabelle zeigt z. B. die Übereinstimmung zwischen einer Gruppe von Verwendungen, wie in einem Berichtsdeskriptor angegeben, und den Verwendungen und Datenindizes, wie im Funktionsarray angegeben. (In dieser Tabelle ist n der erste Datenindex, den der Parser der ersten Verwendung zuweist, die dem Arrayelement zugeordnet ist.)
| Verwendungsreihenfolge im Berichtsdeskriptor | Verwendungsreihenfolge im Fähigkeitsarray | DataIndex oder von DataIndexMin zu DataIndexMax |
|---|---|---|
| Verwendung 1 | Nutzungsbereich 2 | von n+7 bis n+8 |
| Verwendungsbereich 1 (mit 4 Verwendungen) | Verwendung 2 | n+5 |
| Verwendung 2 | Nutzungsbereich 1 | von n+1 bis n+4 |
| Verwendungsbereich 2 (mit 2 Verwendungen) | Verwendung 1 | n |