Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];
ВнизНепрерывная запись в файл Найти похожие ветки
← →
ketmar © (2008-02-11 20:42) [40]>[37] clickmaker © (2008-02-11 20:37:00)
а то! правда, первый играет вечную музыку, а второй какую-то попсу по типу black magic woman. %-)
---
Understanding is not required. Only obedience.
← →
ketmar © (2008-02-11 20:42) [41]>[38] unknowing (2008-02-11 20:38:00)
тебе давно всё рассказали. идёшь и пробуешь.
---
Understanding is not required. Only obedience.
← →
guav © (2008-02-11 20:45) [42]> [0] unknowing (11.02.08 18:52)
Не использовать кэши системы (FILE_FLAG_NO_BUFFERING, FILE_FLAG_WRITE_THROUGH). Писать посекторно или по много секторов, но целое число секторов, в конец каждого сектора пару байт сигнатуры, при чтении её проверять (сравнением с ожидаемым значением), при повторной записи в то же место - изменять. Не смешивать выделение места и запись - это разные операции.
Это используется в NTFS и в CLFS.
Есть специально для подобной задачи Common Log File System (CLFS)
http://msdn2.microsoft.com/en-us/library/bb986747(VS.85).aspx
Сам не использовал реально, только "игрался" с ней, но похоже, что то, что тебе нужно.
Но требуется 2003 сервер или виста.
← →
Джо © (2008-02-11 20:47) [43]> [39] clickmaker © (11.02.08 20:39)
>
> > [36] Джо © (11.02.08 20:36)
>
> у тебя МСДН неправильный )
> есть она и в 98 и в 95 и даже в Win32s под win3.1 )
Какой есть, шел из комплекта VS 2008...
← →
Anatoly Podgoretsky © (2008-02-11 20:49) [44]> unknowing (11.02.2008 20:38:38) [38]
Короче тебе все рассказали, остались только нюансы функционирования на разных ФС.
← →
Джо © (2008-02-11 20:52) [45]Чтобы окончательно добить вопрос с FlushFileBuffers и MSDN, цитирую онлайн-версию:
Client Requires Windows Vista, Windows XP, or Windows 2000 Professional.
Теперь просьба к clickmaker"у указать свои источники цитирования ;)
← →
unknowing (2008-02-11 20:54) [46]
> Anatoly Podgoretsky © (11.02.08 20:49) [44]
У меня конкретная фс... Короче, кроме CloseFile, я так понял, ничего путного нет.
← →
unknowing (2008-02-11 21:02) [47]http://vsokovikov.narod.ru/New_MSDN_API/Menage_files/fn_flushfilebuffers.htm
← →
Anatoly Podgoretsky © (2008-02-11 21:13) [48]> Джо (11.02.2008 20:52:45) [45]
В MS SDK - Win 95, Win32s
← →
Anatoly Podgoretsky © (2008-02-11 21:14) [49]> unknowing (11.02.2008 20:54:46) [46]
CloseFile это гарантия.
Я сейчас не могу найти информацию, на поведение при аварийном завершение, но отно отличается в зависимости от ОС и ФС
← →
clickmaker © (2008-02-12 11:23) [50]
> Теперь просьба к clickmaker"у указать свои источники цитирования
секция экспорта в kernel32.dll )
← →
guav © (2008-02-12 11:34) [51]Судя по MSDN, CreateMutex тоже нет в 98 и NT http://msdn2.microsoft.com/en-us/library/ms682411.aspx
Последний MSDN в котором не забили на 95/98/NT был April 2007
← →
guav © (2008-02-12 11:36) [52]Я бы таки предпочёл задать размер файла заранее, затем использовать FILE_FLAG_NO_BUFFERING и FILE_FLAG_WRITE_THROUGH.
В этом случае после возврата WriteFile данные будут записаны. Время модификации не гарантируется, но оно не так важно
← →
Джо © (2008-02-12 12:00) [53]> [51] guav © (12.02.08 11:34)
> Судя по MSDN, CreateMutex тоже нет в 98 и NT http://msdn2.microsoft.com/e
> n-us/library/ms682411.aspx
> Последний MSDN в котором не забили на 95/98/NT был April
> 2007
Offtop. Блин, как-раз неделю назад его снес и поставил от VS 2008 :(
← →
clickmaker © (2008-02-12 12:07) [54]
> [53] Джо © (12.02.08 12:00)
не все МСДНы одинаково полезны )
← →
Slym © (2008-02-12 12:46) [55]не проще бесперебойник купить?
← →
guav © (2008-02-12 12:56) [56]> [53] Джо © (12.02.08 12:00)
У меня оба прекрасно сосуществуют. Старого на всякий случай ещё одну копию прожёг :)
Кстати, его пока ещё можно скачать http://www.microsoft.com/downloads/details.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313&displaylang=en
← →
Джо © (2008-02-12 13:31) [57]> [56] guav © (12.02.08 12:56)
> > [53] Джо © (12.02.08 12:00)
>
> У меня оба прекрасно сосуществуют. Старого на всякий случай
> ещё одну копию прожёг :)
> Кстати, его пока ещё можно скачать http://www.microsoft.com/downloads/det
> ails.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313&displaylang=en
Спасибо, обязательно восстановлю удаленный, потому как это не дело...
← →
MBo © (2008-02-12 13:55) [58]Пиши кусочки в небольшие файлы, потом вместе соберешь
← →
unknowing (2008-02-13 17:54) [59]Вот результаты работы:
1. Периодичный FlushFileBuffers():
- под NTFS & WinXP - порядик, потери данных не возникает;
- под FAT32 & WinME - фиаско, все пропало, потеря данных.
2. Непрерывный CloseFile():
- под NTFS & WinXP - порядик, потери данных не возникает;
- под FAT32 & WinME - порядик, потери данных не возникает.
← →
ketmar © (2008-02-13 17:57) [60]>[59] unknowing (2008-02-13 17:54:00)
тем, кто живёт на FAT — не привыкать к геморрою.
---
Understanding is not required. Only obedience.
← →
unknowing (2008-02-13 18:02) [61]
> ketmar © (13.02.08 17:57) [60]
В моем случае можно интерпретировать так: "тем,кто бедно живет - не превыкать к геморрою"
← →
ketmar © (2008-02-13 18:19) [62]>[61] unknowing (2008-02-13 18:02:00)
да ну. я почти уверен, что хорошо обработаный напильником Win2k на вашу технику встанет и заработает вполне нормлально. если уж не совсем доисторическое 486.
---
Understanding is not required. Only obedience.
← →
unknowing (2008-02-13 18:24) [63]
> ketmar © (13.02.08 18:19) [62]
Встанет, но туго очень!
← →
ketmar © (2008-02-13 18:27) [64]>[63] unknowing (2008-02-13 18:24:00)
а напильничком потом? сервисы лишние поотрывать, морду попилять?
---
Understanding is not required. Only obedience.
← →
unknowing (2008-02-13 18:33) [65]
> ketmar © (13.02.08 18:27) [64]
WinMe быстрее всяко на том ноуте. Есть умельцы по обрезанию ХР, но по стравнию с ВинМе медленнее
← →
ketmar © (2008-02-13 18:36) [66]>[65] unknowing (2008-02-13 18:33:00)
ну, тогда сиди на бочке с динамитом. %-)
---
Understanding is not required. Only obedience.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.049 c