Я проектирую систему, которая будет записывать данные временных рядов в файл. Данные представляют собой блоки по 8 байтов, разделенные на две части по 4 байта: время и полезная нагрузка.
Согласно MSDN функция WriteFile является атомарной (http://msdn.microsoft.com/en-us/library/aa365747(VS.85).aspx), если записанные данные имеют размер меньше сектора.
Поскольку файл будет содержать только эти блоки (отсутствует «структура» файла, поэтому невозможно восстановить поврежденный файл), добавленные один за другим, очень важно, чтобы весь блок или ничего не записывалось в файл во все времена.
Итак, вопрос в том, правильно ли я понял, что файл записи размером менее сектора всегда полностью записывается на диск или не записывается вообще, независимо от того, что происходит во время фактического вызова файла записи?