USB erkennen
-
Hallo,
ist es möglich programmiertechnisch zu erkennen an welchem USB-Port ein Stick gesteckt wurde?
Mit OnDeviceChange erkennt man ja dass etwas gesteckt wurde, nur wo ist jetzt die Frage?
-
Und was willst Du nun wissen?
Steht doch in der Nachricht:
http://msdn.microsoft.com/en-us/library/aa363480(VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa363249(VS.85).aspx
siehe dbcv_unitmask
-
Egal an welchem usb-port ich den stick stecke, dbcv_unitmask hat immer den Wert 128

-
Diesel schrieb:
Egal an welchem usb-port ich den stick stecke, dbcv_unitmask hat immer den Wert 128

Würde bedeuten das nach Admam Riese Dein USB Stick als Laufwerk H erscheint. Ist das nicht korrekt?
-
Er will aber scheinbar nicht wissen, welcher Buchstabe vergeben wurde, sondern an welchem USB-Port das Gerät angesteckt wurde.
-
windows sieht sowas wohl nicht vor

-
Dann musst Du wohl auf eine tiefer Scicht wie WinUSB zugreifen.
http://msdn.microsoft.com/en-us/library/aa476426.aspx
-
Bevor Du tief in WinUSB abtauchst:
Für wen oder was brauchst Du diese Information?
Woher weiß Windows ob die USB-Buchse an der Gehäuse-Frontseite oder hinten am Mainboard plaziert ist?Windows weiß nur welche USB-Ports, welche USB Host-Controller, Root Hubs usw. am System hängen und welche Geräte (oder Speichersticks) Verbindung haben.
Aber Windows weiß nicht wo sie (mechanisch) montiert sind!Von Microsoft gibts ein Tool namens "USB View" bzw. "USB device viewer": http://msdn.microsoft.com/en-us/library/cc748123.aspx
Download: http://www.ftdichip.com/Resources/Utilities/usbview.zipDieses Tool zeigt Dir alle USB-Ports vom Rechner an, und die daran angestöpselten Geräte.
Sind das die Informationen die Du suchst?
Martin
-
ich bräuchte nur ein unterscheidungsmerkmal zwischen den verschiedenen usb-ports, aber das scheints nicht zu geben. ich will zb programmiertechnisch sagen an diesem usb-port dürfen sticks mit der datenstruktur eingesteckt werden, und an diesem port mit der struktur...
das winusb geht mir aufwandstechnisch dann doch zu weit...wenn es damit überhaupt funzt
-
Mit den SetupDi-Funktionen sollte das möglich sein, was Du willst...