win32内核编程_09.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:7 大小:67KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

win32内核编程_09.pdf

win32内核编程_09.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

win32_09.txt================第九课文件系统================一、文件系统基本概念--------------------Windows操作系统管理磁盘数据的方式:FAT、FAT32、NTFS磁道:由若干扇区组成扇区:512字节文件系统的最小管理单位:簇——连续的若干扇区FAT32:1簇=32扇区=16K字节NTFS:1簇=8扇区=4K字节文件存储时,以簇为单位占用磁盘空间,即使只有1个字节,也要占用1簇空间。二、目录--------1.获取磁盘驱动器信息~~~~~~~~~~~~~~~~~~~~~DWORDWINAPIGetLogicalDrives(void);返回当前可用磁盘驱动器掩码位。高位<------------------------低位XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...PONMLKJIHGFEDCBA0:无此磁盘驱动器1:有此磁盘驱动器2.获取系统驱动器~~~~~~~~~~~~~~~~~DWORDWINAPIGetLogicalDriveStrings(DWORDnBufferLength,//缓冲区大小(以字符为单位)LPTSTRlpBuffer//缓冲区指针);成功返回字符串长度,失败返回0。3.获取当前目录~~~~~~~~~~~~~~~DWORDGetCurrentDirectory(DWORDnBufferLength,//缓冲区大小(以字符为单位)LPTSTRlpBuffer//缓冲区指针);成功返回字符串长度,失败返回0。4.设置当前目录win32_09.txt~~~~~~~~~~~~~~~BOOLSetCurrrentDirectory(LPCTSTRlpPathName//当前目录路径);成功返回TRUE,失败返回FALSE。5.获取WINDOWS目录~~~~~~~~~~~~~~~~~~UINTGetWindowsDirectory(LPSTRlpBuffer,//缓冲区指针UINTuSize//缓冲区大小(以字符为单位));成功返回字符串长度,失败返回0。6.获取系统(system32)目录~~~~~~~~~~~~~~~~~~~~~~~~~UINTGetSystemDirectory(LPTSTRlpBuffer,//缓冲区指针UINTuSize//缓冲区大小(以字符为单位));成功返回字符串长度,失败返回0。7.获取临时目录~~~~~~~~~~~~~~~DWORDGetTempPath(DWORDnBufferLength,//缓冲区大小(以字符为单位)LPTSTRlpBuffer//缓冲区指针);成功返回字符串长度,失败返回0。8.创建目录~~~~~~~~~~~BOOLCreateDirectory(LPCTSTRlpPathName,//目录路径LPSECURITY_ATTRIBUTESlpSecurityAttributes//安全属性,置NULL);成功返回TRUE,失败返回FALSE。9.删除空目录~~~~~~~~~~~~~BOOLRemoveDirectory(LPCTSTRlpPathName//目录路径);win32_09.txt成功返回TRUE,失败返回FALSE。10.目录/文件修改~~~~~~~~~~~~~~~~~BOOLMoveFile(LPCTSTRlpExistingFileName,//当前路径LPCTSTRlpNewFileName//目标路径);成功返回TRUE,失败返回FALSE。注意:不能跨驱动器移动目录,但是可以跨驱动器移动文件。范例:WinDir三、文件--------1.创建/打开文件~~~~~~~~~~~~~~~~HANDLECreateFile(LPCTSTRlpFileName,//文件路径DWORDdwDesiredAccess,//访问方式DWORDdwShareMode,//共享方式//其它进程以何种方式打开此文件LPSECURITY_ATTRIBUTESlpSecurityAttributes,//安全属性(NULL)DWORDdwCreationDisposition,//创建/打开方式DWORDdwFlagsAndAttributes,//文件属性HANDLEhTemplateFile//文件句柄模板//磁盘文件设NULL同步传输,//打印机同步或异步传输);成功返回文件句柄,失败返回INVALID_HANDLE_VALUE(-1)。