资源描述:
《获取磁盘可用空间信息.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于visualc++之windows核心编程代码分析(13)获取磁盘可用空间信息分类:VC++编程技术VisualC++2010编程技术VisualStudio2012Windows82011-12-1622:25112人阅读评论(0)收藏举报我们在进行Windows核心编程,经常要用到获取磁盘可用空间信息。我们来亲自编程实践获取磁盘可用空间信息,请见代码实现与注释讲解 viewplaincopytoclipboardprint?1./* 头文件 */ 2.#include 3.#include
2、 4. 5./* ************************************ 6. * BOOL GetDiskSpaceInfo(LPCSTR pszDrive 7. * 功能 根据输入的驱动器,获取磁盘总容量 8. * 空闲空间、簇数量等磁盘信息 9. * 参数 驱动器根路径,比如“D:”。 10. **************************************/ 11.BOOL GetDiskSpaceInfo(LPCSTR pszDrive) 12.{ 13. DW
3、ORD64 qwFreeBytesToCaller, qwTotalBytes, qwFreeBytes; 14. DWORD dwSectPerClust, dwBytesPerSect, dwFreeClusters, dwTotalClusters; 15. BOOL bResult; 16. 17. //使用GetDiskFreeSpaceEx获取磁盘信息并打印结果 18. bResult = GetDiskFreeSpaceEx (pszDrive, 19. (PULARGE
4、_INTEGER)&qwFreeBytesToCaller, 20. (PULARGE_INTEGER)&qwTotalBytes, 21. (PULARGE_INTEGER)&qwFreeBytes); 22. 23. if(bResult) 24. { 25. printf("使用GetDiskFreeSpaceEx获取磁盘空间信息"); 1. printf("可获得的空闲空间(字节): t%I64d", qwFreeBytesToCaller);
5、 2. printf("空闲空间(字节): tt%I64d", qwFreeBytes); 3. printf("磁盘总容量(字节): tt%I64d", qwTotalBytes); 4. } 5. 6. //使用GetDiskFreeSpace获取磁盘信息并打印结果 7. bResult = GetDiskFreeSpace (pszDrive, 8. &dwSectPerClust, 9. &dwBytesPerSect, 10
6、. &dwFreeClusters, 11. &dwTotalClusters); 12. 13. if(bResult) 14. { 15. printf("使用GetDiskFreeSpace获取磁盘空间信息"); 16. printf("空闲的簇数量 : ttt%d",dwFreeClusters); 17. printf("总簇数量 : ttt%d",dwTotalClusters); 18.
7、printf("每簇的扇区数量 : tt%d",dwSectPerClust); 19. printf("每扇区的容量(字节): tt%d",dwBytesPerSect); 20. printf("空闲空间(字节): tt%I64d", 21. (DWORD64)dwFreeClusters* 22. (DWORD64)dwSectPerClust*(DWORD64)dwBytesPerSect); 23. printf(
8、"磁盘总容量(字节): tt%I64d", 24. (DWORD64)dwTotalClusters* 25.