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.
Pochopení rozdílu mezi třídami nastavení zařízení a třídami rozhraní zařízení je zásadní pro úspěšný vývoj ovladačů systému Windows a správu zařízení. I když se tyto třídy můžou podobat, slouží v ekosystému zařízení s Windows zásadně odlišným účelům. Třídy nastavení určují, jak operační systém instaluje a konfiguruje zařízení. Třídy rozhraní umožňují komunikaci a funkce za běhu mezi ovladači, aplikacemi a zařízeními. Pochopení tohoto rozdílu vám pomůže zvolit správný typ třídy pro instalaci zařízení, implementovat správná oznámení zařízení a vyhnout se běžným nástrahám vývoje.
Zařízení často patří do třídy instalace a současně zpřístupňuje několik rozhraní zařízení v různých třídách rozhraní. Nicméně dva typy tříd slouží různým účelům a nejsou zaměnitelné.
Comparison
Následující tabulka shrnuje klíčové rozdíly a relace mezi třídami nastavení a třídami rozhraní:
| Aspekt | Nastavení tříd | Třídy rozhraní |
|---|---|---|
| Primární účel | Seskupení zařízení s podobnou instalací a konfigurací | Seskupování rozhraní zařízení, která poskytují podobné funkce a komunikaci |
| Využití | Používá se systémem Windows během instalace zařízení. | Používá se ovladači a aplikacemi pro interakci se zařízením. |
| Definice GUID | Obvykle definované v Devguid.h | Definované v souborech hlaviček specifických pro zařízení (například Ntddmou.h, Ntddpar.h) |
| Kritéria seskupení | Zařízení nainstalovaná a nakonfigurovaná podobně | Obecně platí, že rozhraní zařízení, která implementují konkrétní vstupně-výstupní kontrakt |
| Oznámení | Nepoužívané pro oznámení o připojení nebo odebrání zařízení | Používá se k registraci oznámení o příchodu a odebrání rozhraní zařízení. |
| Examples | Senzory, Firmware, Bluetooth | Zachycení zvuku, Vykreslování zvuku, Senzor okolního osvětlení |
| Vztah | Zařízení patří do jedné třídy instalace. | Zařízení může zpřístupnit nula nebo více rozhraní zařízení v různých třídách rozhraní. |
| Životnost | Důležité během instalace | Platí během provozu zařízení |
Je důležité rozlišovat mezi dvěma typy tříd zařízení: třídami rozhraní zařízení a třídami instalace zařízení. Tyto dvě věci si lze snadno splést. V kódu v uživatelském režimu používají obě třídy stejnou sadu funkcí instalace zařízení. Používají také stejnou sadu datových struktur (soubory informací o zařízení).
Stejná třída Setup, různé třídy rozhraní:
- Zařízení: Dvě různá senzorová zařízení
- Třída instalace: Obě zařízení jsou ve třídě Senzor.
- Třídy rozhraní: Jeden snímač zpřístupňuje rozhraní zařízení okolního světla a druhý zpřístupňuje rozhraní zařízení akcelerometru.
Zvažte zařízení USB myši a zařízení USB klávesnice. Obě používají stejnou třídu rozhraní (human interface device). Patří ale do různých tříd nastavení, Mouse a Keyboard.
Stejná třída rozhraní, různé třídy nastavení:
- Zařízení: Myš USB a klávesnice USB
- Třída rozhraní: Obě zařízení ke komunikaci se systémem využívají stejnou třídu rozhraní (Human Interface Device).
- Třídy nastavení: Zařízení myši patří do třídy nastavení Mouse, zatímco klávesnice patří do třídy nastavení Keyboard.
Třídy nastavení zařízení
Třídy nastavení zařízení jsou předdefinované kategorie používané výhradně pro instalaci a konfiguraci zařízení ve Windows. Pomáhají operačnímu systému pochopit, jak spravovat zařízení během procesu instalace. Třídy nastavení poskytují mechanismus pro seskupování zařízení, která jsou nainstalována a nakonfigurována stejným způsobem. Další informace o třídách nastavení naleznete v tématu Třídy nastavení zařízení definované systémem, které jsou k dispozici dodavatelům.
Třídy nastavení zařízení s Windows jsou definovány v systémovém souboru Devguid.h. Tento soubor definuje řadu identifikátorů GUID pro třídy nastavení. Třídy nastavení zařízení reprezentované v Devguid.h však nesmí být zaměňovány s třídami rozhraní zařízení . Soubor Devguid.h obsahuje pouze identifikátory GUID pro třídy nastavení.
Třídy rozhraní zařízení
Třídy rozhraní zařízení poskytují mechanismus pro seskupení rozhraní zařízení podle sdílených charakteristik nebo funkcí. Ovladače a uživatelské aplikace se mohou zaregistrovat k odběru oznámení o rozhraních zařízení v konkrétní třídě rozhraní. To znamená, že obdrží oznámení, když je povoleno jakékoli rozhraní zařízení, které patří do této třídy (se objeví), nebo je zakázáno (odebráno). Nepotřebují sledovat jednotlivá zařízení. Třídy rozhraní zařízení seskupují rozhraní zařízení zpřístupněná zařízeními. Zaregistrujete si oznámení o připojení a odebrání rozhraní zařízení.
Definice tříd rozhraní nejsou k dispozici v jednom souboru. Třída rozhraní zařízení je vždy definována v hlavičkovém souboru, který patří výhradně do konkrétní třídy zařízení. Například Ntddmou.h obsahuje definici GUID_DEVINTERFACE_MOUSE, guid představující třídu rozhraní myši. Ntddpar.h definuje identifikátor GUID třídy rozhraní pro paralelní zařízení. Ntddpcm.h definuje identifikátor GUID standardní třídy rozhraní pro zařízení PCMCIA. Ntddstor.h definuje identifikátor GUID třídy zařízení pro úložiště.
Pokud se chcete zaregistrovat k oznámením rozhraní zařízení, použijte identifikátory GUID nalezené v hlavičkových souborech specifických pro třídu rozhraní zařízení. Tyto identifikátory GUID umožňují dostávat oznámení při příchodu instance rozhraní zařízení. Pokud ovladač zaregistruje oznámení pomocí identifikátoru GUID třídy nastavení místo identifikátoru GUID třídy rozhraní, nebude upozorněn při příchodu rozhraní.
Při definování nové třídy rozhraní nepoužívejte jeden identifikátor GUID k identifikaci třídy nastavení i třídy rozhraní.