




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游艇码头泊位租赁及水上活动策划服务合同
- 新能源汽车技术保障与售后服务补充协议
- 收入增长子女抚养金动态调整合同
- 深海资源开发私募股权投资基金有限合伙人独家合作协议
- 农业产业园农业园区生态保护与可持续发展合作协议
- 绿色建筑碳排放权交易税收优惠合同
- 抖音短视频用户权益保护与投诉处理合同
- 秋季传染病健康教育(小学)
- 护理部护理不良事件分析
- 年产6000吨引发剂A、3000吨双二五硫化剂等精细化工产品项目可行性研究报告写作模板-拿地申报
- 小学生德育教育ppt课件
- 《菱形的判定》教学设计(共3页)
- 配电箱系统图
- 精选静电感应现象的应用练习题(有答案)
- 电缆井工程量计算
- 初中音乐--人声的分类--(1)pptppt课件
- 育种学 第6章杂交育种
- 小作坊生产工艺流程图(共2页)
- 生态瓶记录单
- 钢芯铝绞线参数
- 音王点歌机800S加歌操作方法
评论
0/150
提交评论