Показать сообщение отдельно
Старый 09.09.2012, 23:31   #11
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: USB удлинитель, 7Zip FileManager и внешний HDD

Сообщение от MoKa Посмотреть сообщение
Система то заботиться. Но представь ты копируешь файл, если на локальный диск и будет ошибка (что очень редкий случай), то ошибка будет скорее исходить из исключения которое выкинет функция копирования.

А если ты копируешь на внешний носитель, то ошибка то будет от функции носителя, но инфы в ней будет реально не достаточно, и разработчику нужно заботиться об этом самому, например проверять внешние носители до копирования запоминать статусы носителей, и при ошибке проверять, если например носитель полон или уже не доступен и др.

Плюс система как уже говорил, хоть и заботиться о том чтобы всё было более "прозрачно" как с сокетами например в линуксе, но различия есть и они влияют на результат.
То есть, при работе с разными типами носителей при одной и той же проблеме получим разные ошибки на уровне WinAPI? Всегда считал, что разницы не будет. Если же так, то да, программа может реагировать по разному.
Хотя здесь дело скорее в буферизации - вероятно, программа дает команду записать данные, система успешно записывает их в буфер, не генерируя сообщения об ошибке, а вот передача из буфера в устройство уже системой не контролируется. В таком случае, система будет складывать данные в буфер, пока устройство их не примет, а приложению будет сообщать, что все в норме.
С другой стороны, все равно непонятно, откуда в данном случае берется ошибка, на метровом кабеле должно нормально работать. Тут больше похоже, что сбоит внутренний контроллер диска или шина USB. Последний вариант объясняет нормальную запись "напрямую" (я так понимаю, через другой разъем, и тем более, если через USB 2.0).
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (09.09.2012)