首页 > Windows开发 > 详细

WindowsAPI详解——GetLogicalDriveStrings 枚举系统逻辑磁盘

时间:2015-03-23 15:13:11      阅读:203      评论:0      收藏:0      [点我收藏+]
 调用这个函数,可以得到如"C:/"加一个空格再加后面的盘符连接起来的字符串缓冲区,我们可以通过这个缓冲

区来枚举系统逻辑磁盘。

函数原型
DWORD GetLogicalDriveStrings(DWORD nBufferLength,LPTSTR lpBuffer)

如果函数调用成功,将返回使用的缓冲区长度;调用失败时函数将返回0。

下面是函数的使用方法:
//这个函数将填充一个只包含盘符名称的单向链表
typedef struct _DiskSymbol
{
    wstring     Symbol;
    _DiskSymbol NextSymbol;
}DiskSymbol,*PDiskSymbol;


PDiskSymbol getDiskSymbol()
{
    PDiskSymbol pDiskSymbol;
    wchar_t drv[120];
    if(GetLogicalDriveStrings(sizeof(drv),drv)!=0) {
        wchar_t *pSymbol=drv;
        pDiskSymbol=new DiskSymbol;
        pDiskSymbolFirst=pDiskSymbol;
        for(;*pSymbol!=NULL;pSymbol=pSymbol+4)
        {
            pDiskSymbol->NextSymbol=new DiskSymbol;
            pDiskSymbol=pDiskSymbol->NextSymbol;
            pDiskSymbol->Symbol=pSymbol;
        }
        return pDiskSymbolFirst;
    }
    else {
        return NULL;
    }
}

 

WindowsAPI详解——GetLogicalDriveStrings 枚举系统逻辑磁盘

原文:http://www.cnblogs.com/callback/p/4248036.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!