Wie funktioniert GetDiskFreeSpaceEx ?
-
Es funktioniert zwar, aber nur mit dem Laufwerk auf dem das Programm startet (C:\) wenn ich einen anderes Laufwerk + Pfad angebe, erhalte ich unnatürliche Ergebnisse, woran liegt das ? Hat jemand eine funktionierende Lösung ? Wenn ja, sollte man das auch mal in die FAQ tun
ULARGE_INTEGER ulfree, ultotal; DWORD dwspeicherplatztotal, dwspeicherplatzfrei; char szpfad[]="D:\Test\", szergebnis[30]=""; GetDiskFreeSpaceEx(szpfad,&ulfree,&ultotal,NULL); dwspeicherplatztotal=(UINT)ultotal.QuadPart/(1024*1024); dwspeicherplatzfrei=(UINT)ulfree.QuadPart/(1024*1024);
-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/getdiskfreespaceex.asp
cu
-
Kann es sein, dass du einen überlauf bekommst?
ultotal ist bei dier ein ULARGE_INTEGER wenn du den Wet hast, weißt du ihm aber einer DWORD Variablen zu, die wesentlich kleiner als ein ULARGE_INTEGER ist.
-
das mit dem überlauf scheint zu stimmen, ich habe mal in der MSDN weiter geblättert und eine Beispielcode gefunden, den ich jetz mal auseinandernehmen werde. http://support.microsoft.com/default.aspx?scid=KB;en-us;q231497