Я делаю программу для A2 Computing, которая экспортирует большое количество данных. Мое распределение жесткого диска в локальной сети составляет около 50 МБ, поэтому это хороший кандидат для проверки ошибки «без дискового пространства».Свободное место на диске на сетевом диске в Delphi
В настоящее время, когда в программе заканчивается пробел, он выдает средний экспорт с ошибкой ввода-вывода 112. Я бы хотел заранее предупредить, если файл может превысить доступное пространство. Я знаю, насколько большой файл будет (в среднем, 24,8 байт на запись), поэтому мне нужно всего лишь выяснить, сколько свободного места.
Как я работаю на сетевом диске, с файловым путем, например \\qmcsan1\Cxxxxx$\filename.csv
, как использовать функции, такие как DiskFree
для вычисления свободного пространства? Любая такая функция также должна обрабатывать локальные диски, такие как C:/
.
Любые идеи очень ценятся.
См RRUZ ответ на этом SO нить [как к-получить полную дисковое пространство-из-окон-диск] (http://stackoverflow.com/questions/6383598/delphi-how-to -get-общее-дисковое пространство-из-окна-диска). Использует WMI и работает на удаленных компьютерах. –
@LU RD, злоупотребление WMI - это действительно дрянной подход. Я предвижу случай, когда пользователь, которому разрешено использовать общий ресурс, не выполняет проверку привилегий WMI. – OnTheFly
@LU RD Если пользователь может писать тома, то, по-видимому, они могут просто использовать Win32 API для получения свободного места, а не для WMI с большим весом. –