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

Posted prairieNew

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows API 第17篇 GetLogicalDriveStrings 获取本机所有逻辑驱动器,以根目录的形式表示相关的知识,希望对你有一定的参考价值。

函数原型:
DWORD GetLogicalDriveStringsDWORD nBufferLength,  // size of buffer
                                                           LPTSTR lpBuffer       // drive strings buffer
                                                       );
说明:
参数不多讲,需要注意函数返回存入lpBuffer空间的字符个数,不包括‘‘.
在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 获取本机所有逻辑驱动器,以根目录的形式表示的主要内容,如果未能解决你的问题,请参考以下文章

Windows API 第12篇 MoveFile

FreeRTOS系列第18篇---FreeRTOS队列API函数

在 Windows 上选择 Google API(API 级别 17 或任何其他 API 级别)时,Android 模拟器未加载

高焕堂:Android的API设计(应用篇)_创建App的对象

第17篇-JAVA Annotation 注解

第17篇 shell编程基础