Программное определение пространства, доступного из UNC Path

Существует ли программный API для определения доступного пространства в хранилище NAS по пути UNC? Я просмотрел документацию WMI, и не было ясно, что это возможно.

Пример кода и ссылки на соответствующие вызовы API приветствуются.

2 ответа

Решение

Используя этот пример о том, как получить UNC-путь, вы можете просто вернуть свойство FreeSpace, я изменил код ниже:

ManagementPath path = new ManagementPath(@"\" + System.Environment.MachineName + @"\root\cimv2");
ObjectQuery query = new ObjectQuery("select * from Win32_LogicalDisk WHERE DriveType = 4");
ManagementScope scope = new ManagementScope(path, new ConnectionOptions());
ManagementObjectSearcher search = new ManagementObjectSearcher(scope, query);

foreach (ManagementObject o in search.Get())
{
    Console.WriteLine(o.Properties["FreeSpace"].Value.ToString());
}

В Windows API, GetFreeDiskSpaceEx, кажется, метод для использования, который работает на путях UNC в соответствии с документами MSDN.

Другие вопросы по тегам