如何从驱动器号获取驱动器名称?

K.R*_*pow 1 c++ windows winapi

我已经搜索了互联网,但找不到答案,我怎样才能从c ++上的驱动器号获取驱动器名称?我的意思是如果我说G:\它必须给我笔驱动器的名称.Ex:可移动磁盘.

Cod*_*ray 5

它就像调用GetVolumeInformationAPI函数一样简单.您通过在驱动器盘符的路径名称(例如,G:\)和函数填充包含卷名的缓冲区(连同其他信息,如果你有兴趣的任何一点).

以下是检索G:\驱动器的卷名所需的代码.卷名放在szVolumeName缓冲区中:

WCHAR szVolumeName[MAX_PATH];
BOOL bSucceeded = GetVolumeInformationW(L"G:\\",
                                        szVolumeName,
                                        MAX_PATH,
                                        NULL,
                                        NULL,
                                        NULL,
                                        NULL,
                                        0);
Run Code Online (Sandbox Code Playgroud)

如果您在调用函数时需要任何其他信息,例如卷的DOS序列号,文件系统名称等,则可以将参数更改NULL为相应的缓冲区.