Я работаю над приложением, в котором мне нужно проверить формат файла диска/SD-карты (FAT 32/NTFS и т. д.) и отобразить его. Это приложение основано на Qt, которое я должен запускать как на MAC, так и на Windows. Нет Qt 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);
Меня беспокоит то, что я не могу найти MAC API, который может предоставить мне информацию о формате файла, когда я подключаю тот же диск / SD-карту к машине MAC. Пожалуйста помоги :)