标签:枚举 bsp 式表 idt padding nbu max width 本机
函数原型:
DWORD GetLogicalDriveStrings( DWORD 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