2017石景山幼升小划片:windows程序设计(1)

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 20:04:59
WIN32_FIND_DATA结构中的dwFileAttributes域可以被赋予这个值:FILE_ATTRIBUTE_REPARSE_POINT
这个值是什么意思啊?还有,FILE_ATTRIBUTE_SPARSE_FILE又是什么意思呢?

FILE_ATTRIBUTE_REPARSE_POINT
文件包含Reparse Point
FILE_ATTRIBUTE_SPARSE_FILE
文件是稀疏文件

首先你要知道
稀疏文件和Reparse Point
--------------
稀疏文件

如果一个非常大的文件包含的数据很少,我们说它包含的是一个稀疏数据集,稀疏数据集可以应用于图像处理和高速数据库中。在NTFS 5.0之前,这种文件占用的磁盘空间是非常大的。
也就是稀疏文件
-------------
Reparse Point

在一个NTFS 5.0的分区中,一个文件或者目录中可能包含一个Reparse Point,Reparse Point可以理解成是一个用户自定义的数据的集合。这个数据集合的格式只有存储数据的应用程序和一个文件系统过滤程序才能了解,文件系统过滤程序位于文件系统驱动程序之上,它的作用是处理Reparse Point中包含的数据集。当一个应用程序在文件中设置一个Reparse Point时,它首先把Reparse Point中的数据存储起来,然后加上一个代表特定文件系统过滤程序的Reparse标签。如果一个文件系统打开一个带有Reparse Point的文件,它首先试图通过Reparse标签找到对应的文件系统过滤程序。如果能够找到,文件系统过滤程序对文件进行处理,如果找不到,则返回出错信息。

Reparse Point的一个应用是把不同的磁盘分区连接起来,组成一个树结构。这和下一讲的DFS(分布式文件系统)的概念相似,但DFS中连接的是共享目录,而Reparse Point连接的是不同文件系统的分区。HMS(分级存储管理)服务器就利用Reparse Point实现了分级存储,HMS服务器把一些低速但大容量的分区(如CDROM或磁带机)作为二级存储,我们可以把一些不常用的数据存储到二级分区中,Reparse Point中的数据指向存储文件的真正设备,只有通过文件系统过滤程序并利用Reparse Point中的数据才能实现对文件的访问。