调用这个函数,可以得到如"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; } }