Предположим, у вас есть полный путь к доступному файлу или папке в системе. Как я могу получить какой-то уникальный идентификатор для физического устройства, на котором фактически находится файл (или папка)?
Моей первой попыткой было использование System.IO.DriveInfo
, которое зависит от наличия буквы диска. Но пути UNC и несколько сетевых дисков, привязанных к одному и тому же физическому устройству на сервере, добавляют некоторые сложности. Например, все эти 3 пути указывают на одну и ту же папку на одном устройстве.
\\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\)
В конечном итоге моя цель состоит в том, чтобы использовать эти несколько путей и сообщать объем используемого и свободного дискового пространства на каждом устройстве. Я хочу объединить эти 3 пути в один элемент в отчете, а не 3 отдельных элемента.
Существует ли какой-либо Windows API, который может помочь найти эту информацию по произвольному полному пути?