提问者:小点点

如何在WinAPI中获取驱动器的文件系统信息?


我有像C:/D:/E://这样的磁盘字母,我有像//。/physicaldrive0,//。/physicaldrive1这样的路径。

如何获取文件系统的信息?

例如:

驱动器C:/是NTFS或更好的://。/PhysicalDrive0是NTFS

请获取代码段


共1个答案

匿名用户

您应该看一下getVolumeInformation(),看一下这个API。

这里有一个例子:

#include <stdio.h>
#include <Windows.h>

int wmain()
{

      // + 1 is for NULL
      WCHAR volumeName[MAX_PATH + 1] = { 0 };
      WCHAR fileSystemName[MAX_PATH + 1] = { 0 };
      DWORD serialNumber = 0;
      DWORD maxComponentLen = 0;
      DWORD fileSystemFlags = 0;

      if (GetVolumeInformation(
            L"C:\\", L"\\MyServer\MyShare\"
        volumeName,
        sizeof(volumeName),
        &serialNumber,
        &maxComponentLen,
        &fileSystemFlags,
        fileSystemName,
        sizeof(fileSystemName)) == TRUE)
      {
            wprintf(L"GetVolumeInformation() should be fine!\n");
            wprintf(L"Volume Name: %s\n", volumeName);
            wprintf(L"Serial Number: %lu\n", serialNumber);
            wprintf(L"File System Name: %s\n", fileSystemName);
            wprintf(L"Max Component Length: %lu\n", maxComponentLen);
            wprintf(L"File system flags: 0X%.08X\n", fileSystemFlags);
      }
      else
      {
            wprintf(L"GetVolumeInformation() failed, error %u\n", GetLastError());
      }
      return 0;
}

输出: