文件系统API函数

来源:互联网 发布:网络视觉营销 编辑:程序博客网 时间:2024/05/22 13:09

文件系统的基本概念:
包括磁盘分区,卷,目录,文件对象,文件句柄,文件映射
1.磁盘分区:
物理磁盘,逻辑磁盘
2.卷:
也称逻辑驱动器,是NTFS,FAT32等文件系统组织结构的最高层.
卷是存储设备(硬盘)上由文件系统管理的一块区域,在逻辑上相互隔离的存储单元.

windows命名规则:
主文件名+扩展名
windows中文件系统的长度被限制为260个字符.
这260个字符包括卷标,路径,主文件名和扩展名,分隔符

在DOS下的保留设备名不能做文件名或主文件名.如CON,PRN,AUX,NUL,COM1.....

磁盘和驱动器管理API
GetLogicalDrivers      获取主机中所有的逻辑驱动器,以Bit Map的形式返回.
GetLogicalDriverString   获取主机中所有的逻辑驱动器,以驱动器根路径字符串返回.
FindFirstVolume    查找主机中的第一个驱动器,返回查找句柄.
FindNextVolume      根据FindFirstVolume返回句柄,查找主机中后继的逻辑驱动器
FindVolumeClose     关闭驱动器查找句柄
GetDriveType      获取驱动器类型
GetVolumeInformation    获取逻辑驱动器信息
FindFirstVolumeMountPoint 查找指定卷的第一个挂载点,返回查找句柄
FindNextVolumeMountPoint 根据FindFirstVolumeMountPoint返回的句柄,查找卷的后继挂载点.
FindVolumeMountPointClose 关闭挂载点查找句柄
GetVolumeNameForVolumeMountPoint 根据指定挂载点获取相应的卷设备名
SetVolumeMountPoint         将指定卷挂载到指定挂载点处
GetDiskFreeSpace            获取磁盘空间信息,包括每簇的扇区数,每扇区的字节数,簇数量,空闲的簇数量
GetDiskFreeSpaceEx          获取用户可用的空闲空间的字节数,磁盘总容量的字节数

文件和目录管理API
DeleteFile                  删除参数所指定文件
CopyFile                    复制指定文件为一个新文件
MoveFile                    将指定文件或目录移动到指定位置
CreateFile                  新建或打开一个文件,获取文件句柄
ReadFile                    读取由文件句柄指定文件的内容
WriteFile                   向由文件句柄指定的文件中写入内容
GetFileSize                 获取文件大小,返回DWORD中;大小超出DWORD最大值时可指定高32位的DWORD联合存储
GetFileSizeEx               获取文件大小,存储到一个64位的大整数联合体中.
CreateDirectory             创建一个目录
GetCurrentDirectory         获取当前程序所在目录
SetCurrentDirectory         设置当前程序所在目录
GetModuleFileName           获取当前模块全路径
FindFirstFile               查找指定目录下第一个文件句柄或目录,获得查找句柄
FindNextFile                根据FindFirstFile获得的句柄,循环查找文件或目录
GetFileAttributes           获取指定文件目录属性,返回一个DWORD值
GetFileAttributesEx         获取文件或目录属性,存储在WIN32_FILE_ATTRIBUTE_DATA结构体中
SetFileAttributes           将文件属性设定为指定值
FileTimeToLocalFileTime     将文件时间转换为本地时间
FileTimeToSystemTime        将文件转换为系统时间,SYSTEMTIME格式便于显示

高级文件操作
CreateFileMapping           创建文件的映射对象
MapViewOfFile               创建视图,将创建的文件映射对象映射到当前进程的地址空间中
FlushViewOfFile             将视图中的数据都写入磁盘,对视图的操作都会反映到磁盘上的文件中
OpenFileMapping             打开已经存在的命名的文件映射对象
UnmapViewOfFile             取消文件映射
GetMappedFileName           从映射对象获取被映射文件的文件设备名
QueryDosDevice              获取MS-DOS设备名