Это немного сложновато, но вы можете контролировать большую часть этого поведения в вызове (win32 api) CreateFile. Вы можете добавить FILE_FLAG_WRITE_THROUGH
/ FILE_FLAG_NO_BUFFERING
или даже предоставить подсказки по оптимизации для системы кэширования с помощью FILE_FLAG_SEQUENTIAL_SCAN
или FILE_FLAG_RANDOM_ACCESS
. Чтобы использовать TFileStream таким образом, я думаю, вам нужно переопределить Create, чтобы изменить способ получения дескриптора файла. FWIW, FlushFileBuffers эквивалентен закрытию / открытию файла. Если вы выполняете много действий с повторяющимися сбросами, это значительно замедлит код.
Немного документации здесь