当前位置:互助文库站› 文件流 (本地文件系统)

文件流 (本地文件系统)

此浏览器不再受支持。

请升级到 Microsoft Edge 以使用最新的功能、安全更新和技术支持。

下载 Microsoft Edge 有关 Internet Explorer 和 Microsoft Edge 的详细信息

流是字节序列。 在 NTFS 文件系统中,流包含写入文件的数据,并提供有关文件的详细信息,而不是属性。 例如,可以创建包含搜索关键字的流,也可以创建创建文件的用户帐户的标识。

与文件关联的每个流都有自己的分配大小、实际大小和有效数据长度:

分配大小是为流保留的磁盘空间量。 实际大小是调用方使用的字节数。 VDL) 的有效数据长度 (是从流的分配大小初始化的字节数。

每个流还维护其自己的压缩、加密和稀疏状态。 文件上的FILE_ATTRIBUTE_SPARSE_FILE属性在从 FindFirstFile、FindFirstFileEx 和 FindNextFile 函数返回的 WIN32_FIND_DATA 结构的 dwFileAttributes 成员中设置,前提是任何流都稀疏。 GetFileAttributes、 GetFileAttributesEx、 GetFileAttributesTransacted、 GetFileInformationByHandle 和 GetFileInformationByHandleEx 如果未指定任何流,则返回默认数据流的稀疏状态。

没有与流关联的文件时间。 更新文件的任何流时,文件的文件时间会更新。

每个流维护机会锁。 每个流也会维护共享模式。 在文件上请求删除访问时,操作系统会检查文件中所有打开的流上的删除访问权限。 如果另一个进程在没有 FILE_SHARE_DELETE 权限的情况下打开了流,则无法打开文件以删除访问权限。

如果复制的文件具有数据流并使用网络重定向程序,则仅当客户端具有读取权限和读取属性权限时,才能复制该文件。

流的命名约定

从 Windows shell 命令行指定时,流的全名为“filename:stream name:stream type”,如以下示例中所示:“myfile.dat:stream1:$DATA”。

对于文件名合法的任何字符,对于流名称(包括空格)也是合法的。 有关详细信息,请参阅 命名文件。 流类型 (也称为属性类型代码,) 是 NTFS 文件系统的内部类型。 因此,用户无法创建新的流类型,但可以打开现有的 NTFS 文件系统类型。 流类型说明符值始终以美元符号 ($) 符号开头。 有关流类型的列表,请参阅下文。

默认情况下,默认数据流未命名。 若要完全指定默认数据流,请使用“filename::$DATA”,其中$DATA为流类型。 这相当于“filename”。 可以使用 文件命名约定在文件中创建命名流。 请注意,“$DATA”是合法的流名称。 例如,名为“sample”的文件上名为“$DATA”的流的完整名称为“sample:$DATA:$DATA”。 如果在同一个文件上创建了名为“bar”的流,其全名将是“sample:bar:$DATA”。

创建和使用具有一个字符名称的文件时,请使用句点前缀文件名,后跟反斜杠 (.) 或使用完全限定的路径名称。 这样做的原因是,Windows将一个字符文件名视为驱动器号。 使用相对路径指定驱动器号时,冒号将驱动器号与路径分开。 如果一个字符名称是驱动器号还是文件名存在歧义,Windows假定它是一个驱动器号(如果冒号后面的字符串是有效路径,即使驱动器号无效)。

下面是 NTFS 流类型的列表,也称为属性类型代码。 某些流类型是 NTFS 的内部类型,其格式是未记录的。


::$BITMAP 索引用于管理目录的 b 树可用空间的位图。 无论群集大小 (如何) ,b 树都以 4 KB 区块进行管理,这用于管理这些区块的分配。 此流类型存在于每个目录中。
::$INDEX_ALLOCATION 目录的流类型。 用于为大型目录实现文件名分配。 此流表示目录本身,并包含目录的所有数据。 此类型的流更改记录到 NTFS 更改日志。 $INDEX_ALLOCATION 流类型的默认流名称$I 30,因此“DirName”、“DirName::$INDEX_ALLOCATION”和“DirName:$I 30:$INDEX_ALLOCATION”都是等效的。
::$LOGGED_UTILITY_STREAM 类似于 ::$DATA,但操作记录到 NTFS 更改日志。 EFS 和 事务 NTFS (TxF) 使用。 EFS 的“:StreamName:$StreamType”配对为“:$EFS:$LOGGED_UTILITY_STREAM”,TxF 为“:$TXF_DATA:$LOGGED_UTILITY_STREAM”。

下载文档原格式(Word原格式,共3页)
相关文档
文档推荐: