Re: USB-Speicher identifizieren
29. Dez 2006, 05:46
VendorID und ProductID sind feste in der Firmware des Sticks abgelegte Nummern. Die VendorID kauft man sich beim USB Implementers Forum, Die PID vergibt der Hersteller fuer ein Produkt. Anhand dieser beiden Nummern identifiziert ein Betriebssystem ein USB-Geraet. Windows schaut erst mal nach ob es ein INF-File mit diesen Nummern entdeckt (genaugenommen diese Stringbestanddteile) und weist dann die im INF-File eingetragenen Treiber zu. Ansonsten versucht Windows anhand der auch vom Geraet gelieferten Klasse (Mass Storage fuer USB Sticks) einen Systemtreiber zuzuweisen.
Die Seriennummer, die auch in diesem Registrystring einkodiert ist, ergibt zusammen mit VID und PID eine eindeutige Kennung fuer das individuelle Exemplar des Geraetes.
Es kann allerdings vorkommen das Billiggeraete keine Seriennummer haben oder noch schlimmer nur genau eine Seriennummer fuer alle Geraete haben. Wegschmeissen das Zeug.
Manipulation am USB-Bereich der Registry ist Unsinn und fuehrt nur zu Problemen der schlimmen Art.
Nicht alle Geraete lassen sich auswerfen, allerdings war ich ueberrascht das sich Maeuse auswerfen lassen. Da hat MS geschlampt.
Ich habe das Programm auf (faktisch) einfache USB-Sticks beschraenkt, da es noch USB-Sticks gibt, die mehrere Partitionen haben und eine andere Methode zum Auswerfen brauchen. Ausserdem wollte ich die Laufwerksbuchstaben anzeigen und da passen andere Geraete schlecht ins Konzept.
|