全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 野营用锅碗产品相关项目实施方案
- DVD光驱市场发展前景分析及供需格局研究预测报告完成
- 社区社会实践报告
- 第六单元 分数的加法和减法 (单元测试)-2023-2024学年五年级下册数学人教版
- 2023-2024学年教科版物理八年级下学期期末达标测试卷A卷
- 青年教师周工作总结7篇
- 上户申请书模板7篇
- 英小学英语教师工作总结5篇
- 浮与沉的教学计划8篇
- 毕业典礼幼儿代表讲话稿5篇
- 小学数学三年级下册(五·四学制)数字与编码 说课一等奖
- ZXR10 5950系列路由交换机硬件手册
- 药剂科室发展规划方案
- 好老师是民族的希望
- 诊所医保管理制度大全范文
- 胸痛中心培训小讲课护理课件
- 新亚欧大陆桥集装箱多式联运影响因素研究
- 240教育:2024高考试题-文综(天津卷)含答案
- 高清全册新人教版七年级上册地理电子教材
- 医疗机构胸痛中心建设行动计划
- 2024年山东种业集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论