![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
ERASER |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 31.5.2002 Где: Бийск Репутация: нет Всего: нет |
Привет всем!
Использую WNetAddConnection2 and GetDiskFreeSpaceEx, для сетевого клиента, копирующего файлы на распределенный сетевой ресурс. Сетевой ресурс - RAID массив, пространство которого организовано в виде сетевых папок-дисков. Соответственно доступ к папкам - дискам дан локальным пользователям с разными правами. Количество клиентов может быть N (чем больше, тем лучше). Количество копируемых файлов может быть от 1-го до 10 000 за один сеанс копирования. На данный момент копирование файлов происходит следующим образом: 1. Пользователь указывает папку с файлами для копирования ее на сетевой ресурс. 2. Происходит поиск файлов по маске и определяется размер. 3. Перед копированием вызывается GetDiskFreeSpaceEx. 4. Копирование одного файла с проверкой свободного пространства (GetDiskFreeSpaceEx). У меня нет проблем с использованием указанных функций, все работает. Есть вопросы другого плана, касающиеся вызова GetDiskFreeSpaceEx. А именно: 1. Как часто можно обращаться к контроллеру HDD, для определения свободного пространства копирования файлов? 2. В какой момент времени можно и нужно определять свободное пространство, поскольку как минимум два клиента могут осуществлять копирование в одну и туже папаку-диск? 3. Так как файлов множество и как минимум два клиента могут копировать в одну и ту же папку, появился вопрос, а не приведет ли к существенному снижению работоспособности HDD множественное обращение с помощью указанного мной способа копирования? Заранее спасибо за ответы. |
|||
|
||||
niteo |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 23.11.2006 Где: Брянск Репутация: нет Всего: 1 |
Каждый раз перед копированием...
Перед началом копирования...
Отказаться от использования GetDiskFreeSpaceEx при каждом копировании файла. То есть померил размер всех копируемых файлов, проверил место свободное, и копируй. Если что, тебе вылетит ошибка, при отсутствии места. Обработаешь GetLastError и все. GetDiskFreeSpaceEx не просто измеряет место свободное на диске, но и еще смотрит на права пользователя, который юзает папку... --------------------
Мне чужого лишнего не нада.Ешь ананасы, рябчиков жуй,день твой последний приходит, буржуй... |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |