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.
V uživatelském režimu se zařízení, která patří do tříd nastavení zařízení nebo tříd rozhraní zařízení , spravují pomocí informačních prvků zařízení a sad informací o zařízení. Sada informací o zařízení se skládá z informačních prvků zařízení pro všechna zařízení, která patří do některé třídy nastavení zařízení nebo třídy rozhraní zařízení.
Každý prvek informací o zařízení obsahuje popisovač zařízení devnode a ukazatel na propojený seznam všech rozhraní zařízení přidružených k zařízení popsanému tímto prvkem. Pokud sada informací o zařízení popisuje členy třídy nastavení, prvek nemusí odkazovat na žádná rozhraní zařízení, protože členy třídy nastavení nejsou nutně přidruženy k rozhraní.
Následující diagram znázorňuje interní strukturu sady informací o zařízení.
Vytvoření sady informací o zařízení
Po vytvoření sady informací o zařízení pomocí SetupDiCreateDeviceInfoList lze vytvořit a přidat prvky informací o zařízení do seznamu po jednom pomocí SetupDiCreateDeviceInfo. Alternativně lze volat SetupDiGetClassDevs k vytvoření sady informací o zařízení složené ze všech zařízení přidružených k zadané třídě nastavení zařízení nebo třídy rozhraní zařízení.
Výčet informací o zařízení
Po vytvoření sady informací o zařízení se dají vypsat jak zařízení, tak rozhraní zařízení, která patří do sady, ale pro každý typ výčtu se vyžadují různé operace. SetupDiEnumDeviceInfo vypíše všechna zařízení, která patří do sady informací splňující určitá kritéria. Každé volání SetupDiEnumDeviceInfo extrahuje SP_DEVINFO_DATA strukturu, která zhruba odpovídá prvku informací o zařízení. SP_DEVINFO_DATA obsahuje GUID třídy, do které zařízení patří, a popisovač instance zařízení, který ukazuje na devnode daného zařízení. Hlavní rozdíl mezi strukturou SP_DEVINFO_DATA a úplným prvkem zařízení je, že SP_DEVINFO_DATA neobsahuje propojený seznam rozhraní přidružených k zařízení. Proto Nelze použít SetupDiEnumDeviceInfo k vytvoření výčtu rozhraní v sadě informací o zařízení.
Chcete-li vytvořit výčet rozhraní zařízení v sadě informací o zařízení, zavolejte SetupDiEnumDeviceInterfaces. Tato rutina prochází všemi prvky informací o zařízení v sadě informací o zařízení, extrahuje rozhraní v seznamu rozhraní každého prvku a během každého volání vrátí jedno rozhraní. Pokud SetupDiEnumDeviceInterfaces předá SP_DEVINFO_DATA strukturu jako vstup ve svém druhém parametru, omezuje výčet pouze na rozhraní přidružená k zařízení označenému SP_DEVINFO_DATA.
SetupDiEnumDeviceInterfaces vrátí SP_DEVICE_INTERFACE_DATA strukturu. SP_DEVICE_INTERFACE_DATA obsahuje identifikátor GUID třídy rozhraní a další informace o rozhraní, včetně vyhrazeného pole s kódovanými informacemi, které lze použít k získání názvu rozhraní. Chcete-li získat název rozhraní, je vyžadován jeden další krok: SetupDiGetDeviceInterfaceDetail musí být volán. SetupDiGetDeviceInterfaceDetail vrátí strukturu typu SP_DEVICE_INTERFACE_DETAIL_DATA , která obsahuje cestu ve stromu systémového objektu, který definuje rozhraní.