Я не уверен, но ВЫ уверены, что настройка FILE_FLAG_NO_BUFFERING и FILE_FLAG_WRITE_THROUGH даст вам максимальную производительность?
Они, безусловно, приведут к тому, что ваши данные попадут на диск как можно скорее, но такого рода вещи на самом деле не повышают производительность, а просто повышают надежность таких вещей, как журнальные файлы, которые вы хотите максимально заполнить в событие крушения.
Для такой процедуры экспорта данных, как вы описываете, разрешение операционной системе буферизовать ваши данные, вероятно, приведет к ЛУЧШЕЙ производительности, поскольку записи будут планироваться в соответствии с другими действиями на диске, а не заставлять диск возвращаться к регистрировать каждую запись.
Почему бы вам не протестировать свой код без этих опций? Оставьте в логике дополнения 0 байт, чтобы сделать ее честной проверкой.
Если выясняется, что пропуск этих параметров выполняется быстрее, вы можете удалить логику заполнения 0, и проблема с размером файла устраняется.