Delen via


Waardecapaciteitsreeksen

Een waardefunctiematrix bevat informatie over het waardegebruik dat wordt ondersteund door een verzameling op het hoogste niveau voor een specifiek type HID-rapport. Informatie over de waarde-capaciteitarrays van een verzameling bevindt zich in de HIDP_CAPS structuur.

Een gebruikersmodustoepassing of kernelmodusstuurprogramma maakt gebruik van een van de volgende HIDClass-ondersteuningsroutines voor het verkrijgen van knopfunctieinformatie:

  • HidP_GetValueCaps retourneert een waardefunctiematrix die alle waarden beschrijft die zijn opgenomen in een door de aanroeper opgegeven rapporttype.

  • HidP_GetSpecificValueCaps filtert de waardecapaciteitsinformatie die wordt geretourneerd met behulp van een door de beller opgegeven gebruikspagina, gebruik, linkverzameling en rapporttype.

Een waardefunctiematrix bevat HIDP_VALUE_CAPS structuren, die elk de volgende informatie over een HID-gebruiks - of gebruiksbereik beschrijven:

  • De toepassingspagina voor een toepassings- of toepassingsbereik

  • De rapport-id van het rapport met de waarde

  • Een gebruiks-id of een gebruiksbereik

  • Geeft aan of een gebruik een aliasgebruik is

  • Informatie over de linkverzameling die informatie over het gebruik of de gebruiksbereik biedt

  • De grootte, in bits, van een waarde en het aantal rapporten (het aantal afzonderlijke waarden dat door de structuur wordt beschreven)

  • Kenmerken van elke waarde, waaronder: of deze een null-waarde, of het eenheden of een exponent heeft, en de logische en fysieke bereiken.

  • Informatie over stringdescriptors en aanwijsers die zijn gekoppeld aan het toepassings- of toepassingsbereik

  • Informatie over de gegevensindexen waaraan de HID-parser een gebruiks- of gebruiksbereik toewijst

In het algemeen zijn de volgende voorwaarden van toepassing op alle gebruikswaarden die worden beschreven door een waardemogelijkhedenmatrix:

  • Elke functiestructuur vertegenwoordigt een gebruik, een gebruiksbereik of een matrix met gebruikswaarden die is gekoppeld aan een hoofditem van een variabele. Hoofditems van matrix worden niet ondersteund voor waarden.

  • Aliasgebruik kan worden gebruikt. Een gebruiksbereik kan niet worden gealiaseerd. Aliaswaarden worden gekoppeld in een waardecapaciteitsarray op dezelfde manier als aliasknoppen zijn gekoppeld in een knopcapaciteitsarray. Zie toepassingen van knoppen in een variabel hoofditem.

  • De HID-parser gebruikt alleen het minimaal vereiste gebruik om een gebruik toe te wijzen aan elke waarde. De parser wijst gebruik toe in de volgorde waarin ze zijn opgegeven in een rapportdescriptor. Gebruik in een rapportdescriptor die niet vereist is, wordt genegeerd. De waardefunctiematrix bevat geen informatie over genegeerd gebruik.

  • De HID-parser wijst een unieke gegevensindex toe aan elk gebruik dat in de mogelijkheidsmatrix wordt beschreven.

Zie Gegevensindexen voor een beschrijving van hoe gegevensindexen worden toegewezen aan waarden.

Matrix met gebruikswaarden

Een matrix met gebruikswaarden is een opeenvolgende set waarden die zijn opgegeven in een hoofditem, die allemaal hetzelfde gebruik krijgen toegewezen. Dit gebeurt als er slechts één gebruik is opgegeven voor een hoofditem waarvan het aantal rapporten groter is dan één.

In de volgende afbeelding ziet u een voorbeeld van een matrix met gebruikswaarden die vijf gegevensitems bevat, elke zes bits lang.

Diagram waarin een matrix met gebruikswaarden wordt weergegeven die vijf gegevensitems bevat, elke 6 bits lang.

In het vorige voorbeeld is voor de waardefunctiestructuur voor een dergelijke matrix met gebruikswaarden het lid IsRange ingesteld op FALSE, het lid NotRange.Usage ingesteld op 17, het lid ReportCount ingesteld op 5 en het BitSize-lid ingesteld op 6.

Als het aantal rapporten voor een gebruik 1 is, gebruikt u HidP_GetUsageValue om de gebruikswaarde op te halen. Als het aantal rapporten van het gebruik groter is dan 1, retourneert HidP_GetUsageValue alleen het eerste gegevensitem in een matrix met gebruikswaarden. Als u alle gegevensitems in een matrix met gebruikswaarden wilt extraheren, gebruikt u HidP_GetUsageValueArray.