FILE_FLAG_WRITE_THROUGH
От: vvotan Россия  
Дата: 07.02.06 13:04
Оценка:
Доброе время суток,

Такой вопрос: если я пишу в файл, открытый с FILE_FLAG_WRITE_THROUGH, гарантируется ли что после возврата из WriteFile данные целиком сохранены на диск?
--
Sergey Chadov

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: FILE_FLAG_WRITE_THROUGH
От: Аноним  
Дата: 07.02.06 13:35
Оценка: 2 (1)
Здравствуйте, vvotan, Вы писали:

V>Доброе время суток,


V>Такой вопрос: если я пишу в файл, открытый с FILE_FLAG_WRITE_THROUGH, гарантируется ли что после возврата из WriteFile данные целиком сохранены на диск?


Можете посмотреть здесь http://support.microsoft.com/default.aspx?scid=kb;en-us;99794
Этот флаг заставляет писать прямо в файл, минуя буфер. Но данные остаются в дисковом кэше. Чтобы гарантированно писать на диск минуя буфер и кэш, можно использовать FILE_FLAG_WRITE_THROUGH|FILE_FLAG_NO_BUFFERING.
Re[2]: FILE_FLAG_WRITE_THROUGH
От: vvotan Россия  
Дата: 07.02.06 14:53
Оценка:
Здравствуйте, <Аноним>, Вы писали:

V>>Такой вопрос: если я пишу в файл, открытый с FILE_FLAG_WRITE_THROUGH, гарантируется ли что после возврата из WriteFile данные целиком сохранены на диск?


А>Можете посмотреть здесь http://support.microsoft.com/default.aspx?scid=kb;en-us;99794


The write call doesn't return until the data is written to the file

Спасибо, именно это я и хотел узнать.

А>Этот флаг заставляет писать прямо в файл, минуя буфер. Но данные остаются в дисковом кэше. Чтобы гарантированно писать на диск минуя буфер и кэш, можно использовать FILE_FLAG_WRITE_THROUGH|FILE_FLAG_NO_BUFFERING.

Я знаю, но это накладывает серьезные ограничения как на позицию в которую можно писать, так и на размер. Этого я хотел бы избежать. К тому же буферизация мне совсем не лишняя, при условии что я при форс-мажорном обстоятельстве не потеряю данные, якобы уже записанные в файл.
--
Sergey Chadov

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.