Das laeuft alles ueber das Setup
API. Ich habe aber noch nicht mit diesem Teil des APIs gespielt.
Es gibt erst mal zwei Arten von Class die das Setup
API kennt.
Setup Class: das sind die Klassen die von den INF Files gebildet werden und im Geraetemanager vorkommen.
Device Class: das sind die Geraete wie USB-Geraete usw.
Zusaetzlich erschwert wird die Sache das ein Geraet in Wirklichkeit aus mehreren Geraeten bestehen kann und deshalb in mehreren Klassen auftauchen kann.
Ein USB Stick ist ein USB-Geraet, ein USBSTOR-Geraet und ein Volume-Geraet.
Insgesamt sind die Geraete in einem Baum untergebracht. Das ist worauf das Config Manager
API arbeitet.
Das Setup
API stuelpt sich darueber und verbindet den ganzen Wust.
Bei der Installation wird das INF File ausgefuehrt. dort koennen (muesen aber nicht) CoInstaller deklariert sein.
Die duerfen Hilfsapplikationen installieren und auch sonst fast alles.
Am besten sich durch die
MSDN Doku arbeiten ausgehend von beispielsweise SetupDiCallClassInstaller.
Es empfiehlt sich das Programm/
DLL zu finden das den Device Manager antreibt und dann mal zu schauen welche SetupDi-Funktionen importiert werden.