Как получить информацию о файловой системе диска в winapi? - PullRequest
0 голосов
/ 09 июля 2020

У меня есть буквы типа C: / D: / E: / и есть пути вроде //./PhysicalDrive0, //./PhysicalDrive1.

Как я могу получить информацию о файловой системе?

Например:

Диск C: / - это NTFS или лучше: //./PhysicalDrive0 - это NTFS

Пожалуйста, для фрагмента

1 Ответ

0 голосов
/ 09 июля 2020

Вы должны взглянуть на 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;
}

Вывод:

информация о томе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...