Файловая система NTFS и управление данными в Windows
К атрибутам файла относятся все те, которые Windows унаследовала от MS-DOS (только для чтения, скрытый, системный, архивный), а также атрибут «сжатый» (т.е. файл, создаваемый в NTFS, будет храниться в сжатом виде) и атрибут «временный». Этот атрибут означает, что файл, вероятно, будет скоро удален, а поэтому система должна попытаться удержать его данные в памяти, не тратя зря время на запись файла на диск.
Флаги функции предоставляют, в частности, следующие возможности:
· при операциях записи немедленно выполнять запись на диск (очищать кэш-буфера файла);
· вообще исключить использование кэша для данного файла, всегда записывать и читать секторы данных непосредственно с диска;
· указать системе желательность оптимальной буферизации для последовательного доступа или, наоборот, для произвольного доступа;
· открыть файл для выполнения асинхронных операций;
· указать системе, что файл должен быть автоматически удален сразу же, как только он будет закрыт.
Функция CreateFile возвращает хэндл открытого файла. Этот хэндл может затем использоваться при обращении к функциям чтения, записи, перемещения указателя, очистки буферов, блокирования фрагментов, закрытия фала и др.
Чтение и запись данных при синхронных операциях начинается с текущей позиции указателя и сопровождается смещением указателя чтения/записи вперед на количество прочитанных/записанных байт. Однако если при открытии файла был указан флаг асинхронных операций, то указатель не используется. Вместо этого при каждом вызове функции чтения или записи должен задаваться дополнительный параметр – смещение от начала файла тех данных, которые следует прочитать или записать.
Как вы думаете, почему при асинхронных операциях не используется указатель чтения/записи?
предыдущаяследующая