遍历驱动器并获取驱动器属性

遍历驱动器并获取驱动器属性

ID:38427288

大小:23.56 KB

页数:5页

时间:2019-06-12

遍历驱动器并获取驱动器属性_第1页
遍历驱动器并获取驱动器属性_第2页
遍历驱动器并获取驱动器属性_第3页
遍历驱动器并获取驱动器属性_第4页
遍历驱动器并获取驱动器属性_第5页
资源描述:

《遍历驱动器并获取驱动器属性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于visualc++之windows核心编程代码分析(23)遍历驱动器并获取驱动器属性分类:VC++编程技术VisualStudio2012Windows8信息安全2011-12-1712:48100人阅读评论(0)收藏举报我们在进行Windows编程的时候,经常需要进行遍历驱动器并获取驱动器属性,我们来实现遍历驱动器并获取驱动器属性。请见代码实现与注释讲解 viewplaincopytoclipboardprint?1.#define _WIN32_WINNT 0x0501  2./* 头文件

2、 */  3.#include   4.#include   5./* 预定义 */  6.#define BUFSIZE            MAX_PATH  7./* 函数申明 */  8.BOOL GetDirverInfo(LPSTR szDrive);  9.  10./* ************************************ 11.* 功能    应用程序主函数,遍历驱动器并调用 12.*       GetDirverI

3、nfo 获取驱动器属性 13.**************************************/  14.int main(void)  15.{  16.    TCHAR buf[BUFSIZE];      // 卷标信息  17.    HANDLE hVol;             // 卷遍历句柄  18.    BOOL bFlag;  19.  20.    hVol = FindFirstVolume (buf, BUFSIZE );  21.  22.    if

4、 (hVol == INVALID_HANDLE_VALUE)  23.    {  24.        printf (TEXT("No volumes found!"));  25.        return (-1);  26.    }  1.  2.    GetDirverInfo (buf);  3.  4.    while( FindNextVolume(  5.        hVol,  6.        buf,  7.        BUFSIZE  8.   

5、     ))  9.    {  10.        GetDirverInfo (buf);  11.    }  12.  13.    bFlag = FindVolumeClose(  14.        hVol  15.        );  16.  17.    return (bFlag);  18.}  19.  20./* ************************************ 21. * BOOL GetDirverInfo(LPSTR szDriv

6、e) 22. * 功能   获取驱动器的属性 23. * 参数   LPSTR szDrive 24. *  指明要获取属性的驱动器的根路径 如 C: 25. * 返回值 BOOL 是否成功 26. **************************************/  27.BOOL GetDirverInfo(LPSTR szDrive)  28.{  29.    UINT uDriveType;  30.    DWORD dwVolumeSerialNumber;  31. 

7、   DWORD dwMaximumComponentLength;  32.    DWORD dwFileSystemFlags;  33.    CHAR szFileSystemNameBuffer[BUFSIZE];  34.    CHAR szDirveName[MAX_PATH];  35.    printf("%s",szDrive);  1.    uDriveType = GetDriveType(szDrive);  2.    switch(uDriveType

8、)  3.    {  4.    case DRIVE_UNKNOWN:  5.        printf("The drive type cannot be determined. ");  6.        break;  7.    case DRIVE_NO_ROOT_DIR:  8.        printf("The root path is invalid, for example, no volume is mounted at the path. "); 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。