Physikalische Nummer eines Datenträgers ermitteln ?
-
Hallo, wer kann mir bitte helfen ?
Spezial-Problem, an dem ich mir schon längere Zeit den Kopf zerbreche (-:
Mit der API-Funktion SetupDiEnumDeviceInterfaces() können alle im System aktiven Festplatten/Devices ermittelt werden. Über SetupDiGetDeviceInterfaceDetail() bekomme ich dann einen Device-Namen im Klartext, mit dem ich dann das Device mit CreateFile() öffnen kann. So weit klappt auch alles.
Dieser Device-Name ist von der Struktur wie z.B.
\?\scsi#disk&vendor-string&production-string0&revisionsnummer#adapter-nummer#{GUID}Jetzt meine Frage: Kennt jemand eine einfache und eindeutige Möglichkeit, um von diesem Device-Namen auf die zugehörige Device-Number zu schließen ? Die Device-Nummer ist die Nummer, die man auch braucht, wenn man das Device über den alternativen Klartextnamen öffnet, zum Beispiel \\\.\\PhysicalDriveX, wobei X die Nummer ist, die ich suche. Dies ist auch die Nummer, die Windows in der Datenträgerverwaltung anzeigt.
Anmerkung: Mir ist klar, dass ich auch direkt ein Device über \\\.\\PhysicalDriveX öffnen kann. Nur versuche ich eine eindeutige Zuordnung zwischen der Adapter-Nummer und der Datenträger-Nummer zu erhalten.
Normalerweise sind die Datenträger-Nummern "einigermaßen" statisch und stabil, doch spätestens dann, wenn ich USB-Devices reinstecke oder abziehe kommt es zu Durcheinanderwürfelungen dieser Nummern (z.B. 0 ist vorhanden, 1 nicht und dann 2 wieder vorhanden).
In irgendeiner Struktur müsste doch die gerade aktuell im System zugewiesene Datenträgernummer des durch SetupDiEnumDeviceInterfaces() ermittelten Devices auszulesen sein ? Kann mir jemand helfen?
Beste Grüße
Holger
-
Wenn Du die PNP-Device ID hättest, dann könntest Du es mit WMI und Win32_DiskDrive rausfinden... für das "Device-name" muss ich auch erst suchen... aber ich glaube das ist gar nicht so einfach...
-
danke ersteinmal für den Versuch (-:
wie gesagt, ich beisse mir schon seit langer Zeit selber die Zähne daran aus...
Win32_DiskDrive hört sich gut an (-:
Mit wmi kenn ich mich allerdings noch gar nicht aus, weiss nur, dass wmi das Zauberhandwerk ist, alles auszulesen...
PNP-Device ID sagt mir auch noch nichts, danke aber schon mal für die Hinweise...
Vielleicht kennt ja jemand oder "Du" doch noch "die" Struktur in der die Datenträgernummer direkt drinsteht?
Sorry vorab, dass ich als "Neuling" hier Fragen stelle - gehört sich bestimmt nicht, ohne selber Postings zu geben
-
intercoder schrieb:
Sorry vorab, dass ich als "Neuling" hier Fragen stelle - gehört sich bestimmt nicht, ohne selber Postings zu geben
Warum??? Das Forum ist doch dazu da, fragen zu stellen... also bitte keine Scheu!
Ich werde mal versuchen ob ich noch was finde...