_>А я и имел в виду, при каком использовании API запись на HDD будет производиться наиболее эффективно
NtCreateFile() с флагом
FILE_NO_INTERMEDIATE_BUFFERING. Также флаг
FILE_WRITE_THROUGH нужен если хочешь, чтобы данные были зафлашены на диск немедленно. Более быстрый путь — соответствующий запрос к драйверу
FS. А самый быстрый путь — это, конечно, так (весьма приблизительно):
1. Залочить диск
2. Получить смещение достаточного свободного участка на диске.
3. Получить смещение пустой ячейки для новой записи в таблице файлов
4. Послать запрос к драйверу
FS на запись
RAW-данных файла по смещению, найденному в п.1
5. Послать запрос к драйверу
FS на запись
RAW-данных записи файла по смещению, найденному в п.2
6. Разлочить диск
А вообще зачем тебе такая супер-пупер скорость? Большое кол-во данных хочешь писать?
_>а вызов функции из более низкоуровневой прослойки ИМХО не делает сильной разницы для этой, довольно долгой операции — записи на диск.
Ну всё же какая-то экономия