文件系統的基本概念:
包括磁盤分區,卷,目錄,文件對象,文件句柄,文件映射
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設備名