Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak aplikace v uživatelském režimu a ovladače režimu jádra získávají předemparovaná data kolekce HID, což je neprůzná struktura, která popisuje sestavy HID kolekce.
User-Mode aplikace
Aplikace v uživatelském režimu musí před voláním některé z rutin podpory HIDClass , které vyžadují předparovaná data kolekce, získat předem rozdělená data. Aplikace by měla zachovat přístup k předem odděleným datům kolekce, pokud má na zařízení otevřený soubor.
Po otevření souboru v kolekci HID aplikace volá HidD_GetPreparsedData, aby vrátila předzpracovaná data kolekce ve vyrovnávací paměti alokované rutinou.
Aplikace by měly volat HidD_FreePreparsedData, když aplikace už nevyžaduje přístup ke kolekci.
Ovladač Kernel-Mode
Jakmile ovladač režimu jádra otevře kolekci HID, ovladač získá předemparsovaná data kolekce následujícím způsobem:
Získá délku předem zpracovaných dat kolekce.
Získá předem parsovaná data z kolekce.
K určení délky předem připravených dat ovladač použije požadavek IOCTL_HID_GET_COLLECTION_INFORMATION . Tento požadavek vrátí strukturu HID_COLLECTION_INFORMATION . Člen DescriptorSize této struktury určuje velikost předemparovaných dat kolekce v bajtech. Ovladač musí přidělit vyrovnávací paměť z nestránkového fondu alespoň této velikosti, aby mohl uchovávat předem oddělená data.
Po přidělení vyrovnávací paměti pro předem připravená data ovladač použije IOCTL_HID_GET_COLLECTION_DESCRIPTOR požadavek na získání předem připravených dat.
Po získání předem zpracovaných dat je může ovladač použít s rutinami podpory **HidP_**Xxx HID ke získání informací o možnostech kolekce HID a k extrakci řídicích dat ze sestav HID.