GetLogicalDriveStrings 返回空字符串或失败,主因是缓冲区不足;需先调用一次获取所需TCHAR数(含末尾双 ),再按此大小分配缓冲区并重试,同时确保字符集匹配(Unicode下用W版)。

为什么 GetLogicalDriveStrings 返回空字符串或失败?
调用后得到空结果,大概率是缓冲区没分配够——这个 API 不像 GetLogicalDrives 那样返回位掩码,它要把所有盘符(如 "C:\ D:\ E:\ ")拼成一个连续的 null-separated 字符串,末尾还带双