Udostępnij przez


Tablice możliwości przycisków

Tablica możliwości przycisku zawiera informacje o użyciu przycisków obsługiwanych przez kolekcję najwyższego poziomu dla określonego typu raportu HID. Informacje o możliwościach kolekcji znajdują się w strukturze HIDP_CAPS .

Sterownik aplikacji lub trybu jądra w trybie użytkownika używa jednej z następujących procedur obsługi HIDClass w celu uzyskania informacji o możliwości przycisku:

  • HidP_GetButtonCaps zwraca tablicę możliwości przycisku opisującą wszystkie użycia przycisków zawarte w określonym typie raportu.

  • HidP_GetSpecificButtonCaps filtruje informacje o możliwościach przycisku, zwracane na podstawie strony użytkowania, identyfikatora użycia i kolekcji powiązań określonych przez obiekt wywołujący.

Tablica możliwości przycisku zawiera struktury HIDP_BUTTON_CAPS, z których każda zawiera następujące informacje dotyczące użycia HID lub zakresu użycia:

  • Strona dotycząca użycia lub zakresu użycia

  • Identyfikator raportu, który zawiera dane dotyczące przycisku

  • Identyfikator użycia lub zakres użycia

  • Flaga wskazująca, czy użycie jest aliasowanym użyciem

  • Zbiór linków zawierający użytkowanie lub zakres użytkowania

  • Deskryptorzy ciągów i oznaczniki skojarzone z użyciem lub zakresem użycia (zobacz element indeksu oznacznika i element indeksu ciągu)

  • Indeksy danych, które analizator HID przypisał do użycia lub zakresu użycia

Ogólnie rzecz biorąc, następujące warunki są przechowywane dla wszystkich użycia opisanych przez tablicę możliwości przycisku:

  • Każda struktura możliwości reprezentuje pojedyncze użycie lub zakres użycia skojarzony ze zmiennym elementem głównym lub elementem głównym tablicy.

  • Aliasowane użycia mogą być stosowane z głównym elementem zmiennym. Nie można aliasować użycia skojarzonego z elementem tablicy. Nie można aliasować zakresu użycia.

  • Analizator HID używa tylko minimalnej wymaganej liczby użycia, aby przypisać użycie do każdego przycisku. Analizator przypisuje użycie w kolejności, w której są określone w deskryptorze raportu. Użycia w deskryptorze raportu, które nie są wymagane, są odrzucane. Tablica możliwości przycisku nie zawiera żadnych informacji o odrzuconych użyciach.

  • Jeśli liczba użycia określonych dla elementu zmiennej jest mniejsza niż liczba przycisków w elemencie, tablica możliwości zawiera tylko jedną strukturę możliwości, która opisuje jedno użycie przycisku (ostatnie użycie określone w deskryptorze raportu dla zmiennej głównej elementu). Jednak zobacz Tablica wartości użycia , aby uzyskać informacje o wartościach użycia, które mają liczbę raportów większą niż jedną.

  • Analizator HID przypisuje unikatowy indeks danych do każdego użycia opisanego w tablicy możliwości.

W poniższych tematach omówiono sposób organizowania struktur możliwości i ustawiania ich w tablicy możliwości przycisku:

Użycie przycisków w zmiennym elemencie głównym

Każde użycie lub zakres użycia określony w deskryptorze raportu jest opisywane przez własną strukturę możliwości w tablicy możliwości przycisku.

Element IsAlias struktur możliwości służy do określania zestawu n aliasowanych zastosowań w następujący sposób:

  • Właściwość IsAlias jest ustawiona na TRUE w pierwszych z n-1 struktur funkcjonalnych dodanych do tablicy funkcjonalności. IsAlias ma wartość FALSE w nstrukturze możliwości. Preferowane użycie to ostatnie użycie z aliasem w sekwencji.

Aplikacja lub sterownik może określić, które użycia przycisków są zaliasowane poprzez skanowanie w celu znalezienia takich sekwencji.

Poniższa tabela zawiera podsumowanie przykładu trzech użyć z aliasami.

Kolejność użycia aliasów w deskryptorze raportu Kolejność użycia w tablicy możliwości Wartość elementu członkowskiego IsAlias
użycie 1 użycie 3 TAK
użycie 2 użycie 2 TAK
użycie 3 użycie 1 FAŁSZ

Aby uzyskać informacje na temat sposobu wzajemnego powiązania użyć i indeksów danych, zobacz Indeksy danych.

Użycie przycisków w elemencie głównym tablicy

Każde użycie lub zakres użycia dla głównego elementu tablicy przycisków określonego w deskryptorze raportu jest opisywane przez własną strukturę możliwości w tablicy możliwości przycisku. Kolejność dodawania struktur możliwości do tablicy możliwości jest odwrotną kolejnością, w jakiej są określone użycia dla głównego elementu.

Analizator HID przypisuje indeks danych do każdego użycia skojarzonego z elementem tablicy w kolejności, w której użycie jest określone w deskryptorze raportu. Na przykład w poniższej tabeli przedstawiono korespondencję między zestawem użycia, jak określono w deskryptorze raportu, a użyciem i indeksami danych, jak określono w tablicy możliwości. (W tej tabeli n jest pierwszym indeksem danych, który analizator przypisuje do pierwszego użycia skojarzonego z elementem tablicy).

Kolejność użycia w deskryptorze raportu Kolejność użycia w tablicy możliwości DataIndex lub od DataIndexMin do DataIndexMax
użycie 1 zakres użycia 2 od n+7 do n+8
zakres użycia 1 (z 4 użyciemi) użycie 2 n+5
użycie 2 zakres użycia 1 od n+1 do n+4
zakres zastosowania 2 (z 2 użyciami) użycie 1 n