Udostępnij przez


Tablice możliwości wartości

Tablica możliwości wartości zawiera informacje o użyciu wartości obsługiwanych przez kolekcję najwyższego poziomu dla określonego typu raportu HID. Informacje o tablicach możliwości wartości 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_GetValueCaps zwraca tablicę możliwości wartości opisującą wszystkie wartości zawarte w typie raportu określonego przez obiekt wywołujący.

  • HidP_GetSpecificValueCaps filtruje zwracane informacje o możliwościach wartości według strony użycia, użycia, kolekcji linków i typu raportu określonych przez wywołującego.

Tablica zdolności wartości zawiera struktury HIDP_VALUE_CAPS, z których każda opisuje następujące informacje o użyciu HID lub zakresie jego użycia:

  • Strona użycia dla zakresu użycia lub użycia

  • Identyfikator raportu, który zawiera wartość

  • Identyfikator użycia lub zakres użycia

  • Wskazuje, czy użycie jest użyciem z aliasem

  • Informacje o kolekcji linków zawierającej użycie lub zakres użycia

  • Rozmiar, w bitach, wartości i liczba raportów (czyli liczba pojedynczych wartości opisanych przez strukturę)

  • Atrybuty każdej wartości, w tym: czy ma wartość null, jednostki i wykładnik oraz zakresy logiczne i fizyczne

  • Informacje o deskryptorach ciągów i oznacznikach skojarzonych z użyciem lub zakresem użycia

  • Informacje o indeksach danych, którym analizator HID przypisuje użycie lub zakres użycia

Ogólnie rzecz biorąc, następujące warunki obowiązują dla wszystkich zastosowań opisanych przez tablicę wartości wskaźników.

  • Każda struktura możliwości reprezentuje użycie, zakres użycia lub tablicę wartości użycia skojarzoną ze zmiennym głównym elementem. Elementy główne tablicy nie są obsługiwane dla wartości.

  • Można używać aliasów. Nie można aliasować zakresu użycia. Aliasowane wartości są połączone ze sobą w tablicy funkcji wartości podobnie jak aliasowane przyciski, które są połączone razem w tablicy funkcji przycisków. Zobacz Użycia przycisków w zmiennym głównym elemencie.

  • Analizator HID używa tylko minimalnej liczby wymaganych użyć, aby przypisać użycie do każdej wartości. 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 wartości nie zawiera żadnych informacji o odrzuconych użyciach.

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

Aby zapoznać się z opisem przypisywania indeksów danych wartościom, patrz Indeksy danych.

Tablica wartości użycia

Tablica wartości użycia jest kolejnym zestawem wartości określonych w elemencie głównym, z których wszystkie są przypisane do tego samego użycia. Dzieje się tak, jeśli tylko jedno użycie jest określone dla elementu głównego, którego liczba raportów jest większa niż jeden.

Na poniższej ilustracji przedstawiono przykład tablicy wartości użycia zawierającej pięć elementów danych o długości sześciu bitów.

Diagram ilustrujący tablicę wartości użycia zawierającą pięć elementów danych o długości 6 bitów.

W poprzednim przykładzie struktura możliwości wartości dla tablicy wartości użycia będzie miała element członkowski IsRange ustawiony na FALSE, a element członkowski NotRange.Usage ustawiony na 17, jego element członkowski ReportCount ustawiony na 5, a jego element członkowski BitSize ustawiony na 6.

Jeśli liczba raportów dla użycia wynosi 1, użyj HidP_GetUsageValue , aby wyodrębnić wartość użycia. Jeśli liczba raportów użycia jest większa niż 1, HidP_GetUsageValue zwraca tylko pierwszy element danych w tablicy wartości użycia. Aby wyodrębnić wszystkie elementy danych w tablicy wartości użycia, użyj HidP_GetUsageValueArray.