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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM