Файловые потоки
Поток (stream) - это последовательность байтов. В файловой системе NTFS, потоки содержат данные записанные в файл, а так же данные, которые характеризуют файл, после информации, обеспечивая установки свойств и атрибутов. Например, Вы можете создать поток, который содержит ключевые слова поиска или подлинность учетной записи пользователя, который создавал этот файл.
Каждый поток, связанный с файлом, имеет свой собственный назначенный размер, действительный размер и допустимую длину данных. Назначенный размер (allocation size) - это объем дискового пространства, которое резервировалось для потока, действительный размер (actual size) - это число байтов, которое в текущий момент используется вызывающей программой и допустимая длина данных (valid data length или VDL) - число байтов, которое было инициализировано за пределами назначенного размера для потока.
Каждый поток также обслуживает и свой собственный режим сжатия, шифрования и разреживания. Атрибут разреживания в файле устанавливается тогда, если какой-либо из потоков, когда-то был разрежен.
Нет никаких временных характеристик файла (дата создания, изменения и т. д.), связанных с потоком. Временные характеристики файла обновляются тогда, когда какой - либо из потоков обновляется.
Ситуационно-обусловленные (уступающие) блокировки поддерживаются через поток. Режимы совместного доступа обслуживаются также через поток.
Обратите внимание! на то, что тот затребованный доступ на удаление в файле вызывает проверку доступа на удаление во всех открытых потоках в файле. Если еще один процесс имеет открытый поток без флажка FILE_SHARE_DELETE, Вы не сможете открыть файл, чтобы получить доступ для удаления. |