Symbolic Link ausgehend von "DeviceInstance" String
-
Wenn ich eine "DeviceInstance" habe, also so einen String ala "PCI\VEN_8086&DEV_104B&SUBSYS_01DB1028&REV_02\3&172e68dd&0&C8", gibt es dann eine einfache Möglichkeit einen Symbolic Link auf das entsprechende Device zu bekommen, so dass ich den mittels CreateFile aufmachen kann?
Die einzige Möglichkeit die ich bis jetzt gefunden habe ist "verkehrt herum" zu suchen, also alle Einträge unter HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses durchzuackern bis ich einen Eintrag mit der gesuchten "DeviceInstance" finde. Was aber nicht sehr "schön" ist...
Der erste Teil des Symbolic Link lässt sich ja einfach aus dem DeviceInstance String erstellen, das Problem ist nur die GUID die da hinten dran hängt. Die GUID einfach wegzulassen funktioniert leider nicht so ganz...

Das ganze sollte wenn möglich für alle Arten von Devices funktionieren.
Und eine zweite Frage: angenommen ich habe unter HKLM\SYSTEM\CurrentControlSet\Enum\IDE (oder auch woanders) eine Disk gefunden, gibt es dann eine Möglichkeit den "PhysicalDrive String" ("PhysicalDrive0", "PhysicalDrive1", ...) rauszubekommen?
EDIT: Sch... Sorry, bitte nach WinAPI verschieben.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Vielleicht hilft das Folgende:
http://groups.google.de/group/microsoft.public.development.device.drivers/browse_thread/thread/9c1250d66a54544f/2092d64a1f96f56a
-
Nicht ganz, trotzdem danke!
Ich bin jetzt soweit dass ich ein "device info set" habe (HDEVINFO), wo nurmehr das eine Device drinnen ist. Was noch fehlt ist wie ich die "interface classes" rausbekomme die dieses Device unterstützt.
Ich denke aber ich kann erstmal damit arbeiten, denn wenn ich das Device aufmachen und "damit reden" will muss ich sowieso wissen welche IOCTLs das Teil verträgt, und damit weiss ich ja eigentlich die interface class auch. Und sobald ich die habe komm' ich ja mittels SetupDiEnumDeviceInterfaces und SetupDiGetDeviceInterfaceDetail auf den Symbolic Link...