Die Beschaffung von Informationen über die physische Gerät von einem bestimmten Dateipfad
Frage
Angenommen, Sie einen vollständigen Pfad auf dem System zu einer zugänglichen Datei oder einen Ordner haben. Wie kann ich eine Art eindeutige Kennung für das physikalische Gerät erhalten, dass die Datei (oder Ordner) befindet sich tatsächlich auf?
Mein erster Versuch war System.IO.DriveInfo
zu verwenden, die auf mit einem Laufwerksbuchstaben abhängt. Aber UNC-Pfade und mehr Netzwerke mit dem gleichen physischen Gerät auf einem Server zugeordnete Laufwerke fügen Sie einige Komplikationen. Zum Beispiel diese drei Wege alle auf dem gleichen Ordner auf dem gleichen Gerät.
\\myserver\users\brian\public\music\
s:\users\brian\public\music\ (here s:\ is mapped to \\myserver\)
u:\public\users\music\ (here u:\ is mapped to \\myserver\users\brian\)
Letztlich ist mein Ziel ist es, diese mehrere Pfade und berichten über die Menge des verwendeten und freien Speicherplatz auf jedem Gerät zu nehmen. Ich möchte diese drei Wege zu einem einzigen Punkt in dem Bericht kombinieren und nicht 3 separate Elemente.
Gibt es einen Windows-API, die diese Informationen jeden beliebigen vollständigen Pfad gegeben finden kann helfen?
Lösung
Dieser Sieg API-Aufruf sollten Sie bekommen, was Sie in Bezug auf Speicherplatz benötigen
GetDiskFreeSpaceEx
http://msdn.microsoft.com/ en-us / library / aa364937 (VS.85) aspx
Auch, um festzustellen, ob die drei Zuordnungen alle aus demselben physischen Datenträger sind, führen Sie einen Anruf
GetVolumeInformation
und vergleichen Sie die zurückgegebenen Volumen Seriennummern
http://msdn.microsoft.com/ en-us / library / aa364993 (VS.85) aspx