Файловые потоки


Поток (stream) - это последовательность байтов. В файловой системе NTFS, потоки содержат данные записанные в файл, а так же данные, которые характеризуют файл, после информации, обеспечивая установки свойств и атрибутов. Например, Вы можете создать поток, который содержит ключевые слова поиска или подлинность учетной записи пользователя, который создавал этот файл.

Каждый поток, связанный с файлом, имеет свой собственный назначенный размер, действительный размер и допустимую длину данных. Назначенный размер (allocation size) - это объем дискового пространства, которое резервировалось для потока, действительный размер (actual size) - это число байтов, которое в текущий момент используется вызывающей программой и допустимая длина данных (valid data length или VDL) - число байтов, которое было инициализировано за пределами назначенного размера для потока.

Каждый поток также обслуживает и свой собственный режим сжатия, шифрования и разреживания. Атрибут разреживания в файле устанавливается тогда, если какой-либо из потоков, когда-то был разрежен.

Нет никаких временных характеристик файла (дата создания, изменения и т. д.), связанных с потоком. Временные характеристики файла обновляются тогда, когда какой - либо из потоков обновляется.

Ситуационно-обусловленные (уступающие) блокировки поддерживаются через поток. Режимы совместного доступа обслуживаются также через поток. 

Обратите внимание! на то, что тот затребованный доступ на удаление в файле вызывает проверку доступа  на удаление во всех открытых потоках в файле. Если еще один процесс имеет открытый поток без флажка FILE_SHARE_DELETE, Вы не сможете открыть файл, чтобы получить доступ для удаления.

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz