Я хотел бы рассчитать свободное пространство всего жесткого диска с помощью C++ и WMI.Как получить свободное пространство для всех логических дисков жесткого диска с использованием WMI в C++?
Например. Если жесткий диск содержит 3 логических диска, скажем, C:, D:, E: и каждый логический диск имеет конфигурацию ниже.
диск Total Space Free Space
C: 10GB 5 GB D: 20GB 8 GB E: 15GB 7 GB
Так что нужно получить свободное пространство на жестком диске есть свободное место всех дисков C, D и E.
SO должно возвращать 5 + 8 + 7 = 20 ГБ.
Также я не знаю, что все логические диски существуют для этого жесткого диска.
У вас есть идеи по API окон GetDiskFreeSpaceEx. Я использую этот API для получения свободного места на жестком диске. Но я получаю небольшие значения. Ниже приведен код, который я использую. int main (void) { LPCWSTR pszDrive = NULL; BOOL test, fResult; __int64 lpFreeBytesAvailable, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes; DWORD dwSectPerClust, dwBytesPerSect, dwFreeClusters, dwTotalClusters; тест = GetDiskFreeSpaceEx ( pszDrive, (PULARGE_INTEGER) & lpFreeBytesAvailable, (PULARGE_INTEGER) & lpTotalNumberOfBytes, (PULARGE_INTEGER) & lpTotalNumberOfFreeBytes ); return 0; } –