先看定义:
BOOL GetVolumeInformation( [IN] LPCTSTR lpRootPathName, // root directory 卷所在的根目录,如:"C:\\", 如果为NULL,表示当前目录 [OUT] LPTSTR lpVolumeNameBuffer, // volume name buffer ,输出参数,存放卷名缓冲区 [IN] DWORD nVolumeNameSize, // length of name buffer,卷名缓冲区长度 [OUT] LPDWORD lpVolumeSerialNumber, // volume serial number, 卷序列号 [OUT] LPDWORD lpMaximumComponentLength, // maximum file name length,最大文件文件名组件长度,随文件系而变化 [OUT] LPDWORD lpFileSystemFlags, // file system options ,文件系统的一些属性,通常为一些宏的组合 [OUT] LPTSTR lpFileSystemNameBuffer, // file system name buffer,说明何种文件系统,例如NTFS, FAT等 [IN] DWORD nFileSystemNameSize // length of file system name buffer,文件系统缓冲区长度);举例说明,拿自己的C盘举例:char szVolumeNameBuf[MAX_PATH] = {0}; DWORD dwVolumeSerialNum; DWORD dwMaxComponentLength; DWORD dwSysFlags; char szFileSystemBuf[MAX_PATH] = {0}; DWORD dwFileSystemBuf = MAX_PATH; BOOL bGet = GetVolumeInformationA("C:\\", szVolumeNameBuf, MAX_PATH, &dwVolumeSerialNum, &dwMaxComponentLength, &dwSysFlags, szFileSystemBuf, MAX_PATH);printf("%s, %s",szVolumeNameBuf, szFileSystemBuf);//最后结果: Windwos, NTFS