




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于visual c+之windows核心编程代码分析(23)遍历驱动器并获取驱动器属性 分类: VC+编程技术 Visual Studio2012 Windows8 信息安全 2011-12-17 12:48 100人阅读 评论(0) 收藏 举报 我们在进行Windows编程的时候,经常需要进行遍历驱动器并获取驱动器属性,我们来实现遍历驱动器并获取驱动器属性。请见代码实现与注释讲解view plaincopy to clipboardprint?1. #define_WIN32_WINNT0x0501 2. /*头文件*/3. #include 4. #include 5. /*预定义*/6. #defineBUFSIZEMAX_PATH 7. /*函数申明*/8. BOOLGetDirverInfo(LPSTRszDrive);9. 10. /*11. *功能应用程序主函数,遍历驱动器并调用12. *GetDirverInfo获取驱动器属性13. */14. intmain(void)15. 16. TCHARbufBUFSIZE;/卷标信息 17. HANDLEhVol;/卷遍历句柄 18. BOOLbFlag;19. 20. hVol=FindFirstVolume(buf,BUFSIZE);21. 22. if(hVol=INVALID_HANDLE_VALUE)23. 24. printf(TEXT(Novolumesfound!n);25. return(-1);26. 27. 28. GetDirverInfo(buf);29. 30. while(FindNextVolume(31. hVol,32. buf,33. BUFSIZE34. )35. 36. GetDirverInfo(buf);37. 38. 39. bFlag=FindVolumeClose(40. hVol41. );42. 43. return(bFlag);44. 45. 46. /*47. *BOOLGetDirverInfo(LPSTRszDrive)48. *功能获取驱动器的属性49. *参数LPSTRszDrive50. *指明要获取属性的驱动器的根路径如C:51. *返回值BOOL是否成功52. */53. BOOLGetDirverInfo(LPSTRszDrive)54. 55. UINTuDriveType;56. DWORDdwVolumeSerialNumber;57. DWORDdwMaximumComponentLength;58. DWORDdwFileSystemFlags;59. CHARszFileSystemNameBufferBUFSIZE;60. CHARszDirveNameMAX_PATH;61. printf(n%sn,szDrive);62. uDriveType=GetDriveType(szDrive);63. switch(uDriveType)64. 65. caseDRIVE_UNKNOWN:66. printf(Thedrivetypecannotbedetermined.);67. break;68. caseDRIVE_NO_ROOT_DIR:69. printf(Therootpathisinvalid,forexample,novolumeismountedatthepath.);70. break;71. caseDRIVE_REMOVABLE:72. printf(Thedriveisatypethathasremovablemedia,forexample,afloppydriveorremovableharddisk.);73. break;74. caseDRIVE_FIXED:75. printf(Thedriveisatypethatcannotberemoved,forexample,afixedharddrive.);76. break;77. caseDRIVE_REMOTE:78. printf(Thedriveisaremote(network)drive.);79. break;80. caseDRIVE_CDROM:81. printf(ThedriveisaCD-ROMdrive.);82. break;83. caseDRIVE_RAMDISK:84. printf(ThedriveisaRAMdisk.);85. break;86. default:87. break;88. 89. if(!GetVolumeInformation(90. szDrive,91. szDirveName,92. MAX_PATH,93. &dwVolumeSerialNumber,94. &dwMaximumComponentLength,95. &dwFileSystemFlags,96. szFileSystemNameBuffer,97. BUFSIZE98. )99. 100. returnFALSE;101. 102. if(0!=lstrlen(szDirveName)103. 104. printf(nDriveNameis%sn,szDirveName);105. 106. 107. printf(nVolumeSerialNumberis%u,dwVolumeSerialNumber);108. printf(nMaximumComponentLengthis%u,dwMaximumComponentLength);109. printf(nSystemTypeis%sn,szFileSystemNameBuffer);110. 111. if(dwFileSystemFlags&FILE_SUPPORTS_REPARSE_POINTS)112. 113. printf(Thefilesystemdoesnotsupportvolumemountpoints.n);114. 115. if(dwFileSystemFlags&FILE_VOLUME_QUOTAS)116. 117. printf(Thefilesystemsupportsdiskquotas.n);118. 119. if(dwFileSystemFlags&FILE_CASE_SENSITIVE_SEARCH)120. 121. printf(Thefilesystemsupportscase-sensitivefilenames.n);122. 123. /youcanusethesevaluetogetmoreinformaion 124. / 125. /FILE_CASE_PRESERVED_NAMES 126. /FILE_CASE_SENSITIVE_SEARCH 127. /FILE_FILE_COMPRESSION 128. /FILE_NAMED_STREAMS 129. /FILE_PERSISTENT_ACLS 130. /FILE_READ_ONLY_VOLUME 131. /FILE_SUPPORTS_ENCRYPTION 132. /FILE_SUPPORTS_OBJECT_IDS 133. /FILE_SUPPORTS_REPARSE_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传统节日传承研究-洞察阐释
- 艺术品收藏品市场趋势分析模型-洞察阐释
- 美学与科学-科学视角下的艺术解析-洞察阐释
- 基于深度伪造的图像加载技术研究-洞察阐释
- 高功率激光切割表面finishes调控-洞察阐释
- 低碳农业背景下秸秆能源开发与循环经济模式研究
- 【整体现浇连续梁桥方案的施工方法及工艺流程分析案例13000字】
- 【某箱盖零件的浇注系统设计案例1500字】
- 宋代落花流水纹在寝具产品CMFP设计中的创新应用
- 患者有限理性下医保支付方式实施效果比较研究-按病种付费vs按服务付费
- 完整版四年级数学销售中的买几送几问题练习题
- 2025年上海闵行区高三一模高考英语模拟试卷(含答案详解)
- 小学数学课件和复习
- 普通高中生物学课程标准-(2024修订版)
- 2024年山东济南初中学业水平考试生物试卷真题(含答案解析)
- 住院患者心理需要及护理
- 空调设备吊装与安装方案
- 2024年宁夏中考生物真题卷及答案解析
- 公共体育场建设项目可行性研究报告
- 光纤通信系统(第3版) 课件 第1-3章 概述、光纤与光缆、光源和光发送机
- 贷款车电子合同模板
评论
0/150
提交评论