Как получить информацию о формате диска в Qt

Я работаю над приложением, в котором мне нужно отобразить формат файла диска (NTFS или FAT32). Теперь я провел небольшое исследование и обнаружил, что не существует API Qt, который позволил бы мне легко получить информацию о формате. Поэтому я наткнулся на Windows API, который позволил мне получить подробности о формате, когда я подключаю диск (внешний или внутренний) и запускаю приложение в Windows.
Вот код:

TCHAR volumeName[MAX_PATH + 1] = { 0 };
TCHAR fileSystemName[MAX_PATH + 1] = { 0 };
DWORD serialNumber = 0;
DWORD maxComponentLen = 0;
DWORD fileSystemFlags = 0;

LPCWSTR path = deviceData->m_strPath.utf16(); //deviceData->m_strpath gives me the drive path

if (GetVolumeInformation(
path,
volumeName,
ARRAYSIZE(volumeName),
&serialNumber,
&maxComponentLen,
&fileSystemFlags,
fileSystemName,
ARRAYSIZE(fileSystemName)))
{
newData.strFileSystem = QString::fromUtf16(fileSystemName);
}

QList m_SDInfoList;
m_SDInfoList.append(newData);

Есть ли способ получить ту же информацию о формате при запуске моего приложения Qt в операционной системе MAC? MAC API, который может помочь мне получить формат файла. Пожалуйста помоги 🙂

2

Решение

Вам нужно будет использовать базовые системные вызовы. OS X основана на Unix (BSD) в частности. Таким образом, вы можете использовать базовые системные вызовы Unix для получения информации.
Поскольку OS X полностью совместима с POSIX, используйте системные вызовы POSIX. Посмотрите Вот для обзора и Вот для файловой системы вызовов.
Так как Какао и Objective-C в основном используются для приложений на чистом OS X, они вам не очень полезны.

0

Другие решения

Других решений пока нет …