Windows API 第15篇 GetVolumeInformation 获取磁盘卷(驱动器)信息

先看定义:
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

猜你喜欢

转载自www.cnblogs.com/priarieNew/p/9755160.html
今日推荐