码迷,mamicode.com
首页 > Windows程序 > 详细

Windows API 第17篇 GetLogicalDriveStrings 获取本机所有逻辑驱动器,以根目录的形式表示

时间:2018-10-08 17:22:10      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:枚举   bsp   式表   idt   padding   nbu   max   width   本机   

函数原型:
DWORD GetLogicalDriveStringsDWORD nBufferLength,  // size of buffer
                                                           LPTSTR lpBuffer       // drive strings buffer
                                                       );
说明:
参数不多讲,需要注意函数返回存入lpBuffer空间的字符个数,不包括‘\0‘.
在lpBuffer内存中,驱动器的存放形式形如:
  

 c  : \  0 D  : \  0 E : \ 0  0  0  0  0

所以用的时候要注意指针的调整:
下面举一例:
本示例枚举本机所有逻辑驱动器,并且把驱动器分离出来:

void main()
{
    CHAR szDriveBuf[MAX_PATH] = { 0 };
    DWORD dwLen = GetLogicalDriveStringsA(MAX_PATH * sizeof(CHAR), szDriveBuf);
    LPSTR pDrive = szDriveBuf;
    while (pDrive)
    {
        string strDriver = pDrive;
        pDrive += 4;   //这里就要注意了,如果不懂就看看上面的那个内存图
    }
}

 

Windows API 第17篇 GetLogicalDriveStrings 获取本机所有逻辑驱动器,以根目录的形式表示

标签:枚举   bsp   式表   idt   padding   nbu   max   width   本机   

原文地址:https://www.cnblogs.com/priarieNew/p/9755365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!