Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Felhasználói módban az eszközbeállítási osztályokhoz vagy az eszközillesztőosztályokhoz tartozó eszközöket eszközinformációs elemek és eszközinformáció-készletek segítségével kezelik. Az eszközinformációs csoportok eszközinformációs elemekből állnak az összes eszközhöz, amelyek valamilyen eszközbeállítási osztályhoz vagy eszközillesztő-osztályhoz tartoznak.
Minden eszközinformációs elem tartalmaz egy leírót az eszköz devnode-jához, és egy mutatót az adott elem által leírt eszközhöz társított összes eszközinterfész csatolt listára. Ha egy eszközinformációs csoport egy beállítási osztály tagjait írja le, előfordulhat, hogy az elem nem mutat eszközillesztőkre, mivel a beállítási osztály tagjai nem feltétlenül vannak csatolva egy felülethez.
Az alábbi ábra egy eszközinformációs csoport belső szerkezetét mutatja be.
Eszköz információk csoportjának létrehozása
Miután létrehozott egy eszközinformációs csoportot a SetupDiCreateDeviceInfoList paranccsal, az eszközinformációs elemeket egyenként is létrehozhatja és hozzáadhatja a listához a SetupDiCreateDeviceInfo használatával. Másik lehetőségként a SetupDiGetClassDevs meghívható egy eszközinformációs csoport létrehozásához, amely egy adott eszközbeállítási osztályhoz vagy eszközillesztő-osztályhoz társított összes eszközből áll.
Eszközadatok számbavétele
Az eszközinformációs csoport létrehozása után mind az eszközök, mind a készlethez tartozó eszközillesztők számba vehetők, de az egyes számbavételi típusokhoz különböző műveletek szükségesek. A SetupDiEnumDeviceInfo felsorolja az összes olyan eszközt, amely az adott feltételeknek megfelelő információkészlethez tartozik. A SetupDiEnumDeviceInfo hívásai egy SP_DEVINFO_DATA struktúrát nyernek ki, amely nagyjából egy eszközinformációs elemnek felel meg. SP_DEVINFO_DATA tartalmazza annak az osztálynak a GUID-azonosítóját, amelyhez az eszköz tartozik, és egy eszközpéldány fogantyúját, amely az eszköz devnode-jához mutat. Az SP_DEVINFO_DATA struktúra és a teljes eszközelem közötti fő különbség az, hogy SP_DEVINFO_DATA nem tartalmazza az eszközhöz társított interfészek csatolt listáját. Ezért a SetupDiEnumDeviceInfo nem használható az eszközinformációs készlet interfészeinek számbavételére.
Az eszköz interfészek számbavételéhez hívja meg a SetupDiEnumDeviceInterfaces függvényt. Ez a rutin végigvezeti az eszközinformációs készlet összes eszközinformációs elemén, kinyeri az egyes elemek felületlistájában lévő interfészeket, és minden híváshoz egy felületet ad vissza. Ha a SetupDiEnumDeviceInterfaces SP_DEVINFO_DATA struktúrát ad át a második paraméter bemeneteként, a számbavételt csak a SP_DEVINFO_DATA által jelzett eszközhöz társított felületekre korlátozza.
A SetupDiEnumDeviceInterfacesegy SP_DEVICE_INTERFACE_DATA struktúrát ad vissza. SP_DEVICE_INTERFACE_DATA tartalmazza az interfészosztály GUID azonosítóját és a felületre vonatkozó egyéb információkat, beleértve egy fenntartott mezőt, amely kódolt információkkal rendelkezik, amelyek a felület nevének lekéréséhez használhatók. A felület nevének lekéréséhez egy további lépésre van szükség: a SetupDiGetDeviceInterfaceDetail nevet meg kell hívni. A SetupDiGetDeviceInterfaceDetail egy SP_DEVICE_INTERFACE_DETAIL_DATA típusú struktúrát ad vissza, amely az interfészt meghatározó rendszerobjektum-fában található elérési utat tartalmazza.