Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Freien Speicherplatz ermitteln - Weitergehende Frage


5 replies to this topic

Jan Becker

Jan Becker
  • Members
  • 285 posts

Posted 09 February 2001 - 12:46

(von Jens Beyer)
Apropos GetDiskSpace... da diese Funktion die Größe in Bytes zurückgibt, gibt es ein Problem mit Größen über ~2GB (INT-Überlauf). Weiß jemand, wie man dieses umgehen kann? Das Beispiel, um das es mir geht, hat ca. 2,5 GB... kann die unter 1. erwähnte Funktion GetCompareSizeRequired eventuell sogar damit umgehen (Zurück kommt ja ein String, der die Größe angibt)? Oder gibt es eine DLL aus dem Windows-Standardpaket dafür?

Jens



Jan Becker

Jan Becker
  • Members
  • 285 posts

Posted 09 February 2001 - 12:54

BOOL GetDiskFreeSpace(
 LPCTSTR lpRootPathName,          // root path
 LPDWORD lpSectorsPerCluster,     // sectors per cluster
 LPDWORD lpBytesPerSector,        // bytes per sector
 LPDWORD lpNumberOfFreeClusters,  // free clusters
 LPDWORD lpTotalNumberOfClusters  // total clusters
);

BOOL GetDiskFreeSpaceEx(
 LPCTSTR lpDirectoryName,                 // directory name
 PULARGE_INTEGER lpFreeBytesAvailable,    // bytes available to caller
 PULARGE_INTEGER lpTotalNumberOfBytes,    // bytes on disk
 PULARGE_INTEGER lpTotalNumberOfFreeBytes // free bytes on disk
);

sind beider in der kernel32.lib. da es aber in IS wohl keinen vergleichbaren typ fuer ULARGE_INTEGER gibt, sollte man sich eine struct aus zwei (lo- und hi-dword) numbers definieren (wichtig: lo muss vor hi kommen) und diesen neuen typ uebergeben.

jan

(Edited by Jan Becker at 11:59 am on Feb. 9, 2001)


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 09 February 2001 - 13:34

InstallShield hat auch eine GetDiskSpaceEx Funktion...

Wenn ich wüsste, um welche InstallShield-Version es geht, könnte ich den Thread ins zutreffende Forum verschieben ... Jens?


JensBeyer

JensBeyer
  • Members
  • 7 posts

Posted 12 February 2001 - 17:26

Danke fürs Aufnehmen ins neue Forum, Stefan. Es geht um IS6.12, aber ich denke, der Wink mit GetDiskSpaceEx sollte helfen, probier ich morgen früh gleich aus. Danke dafür, in der ach so wundervollen Hilfe war natürlich nichts zu finden, da existiert bei mir dieser Befehl überhaupt nicht... aber nach deinem Hinweis hab ich in der Supportabteilung bei IS etwas an Doc gefunden, mit der ich umgehen konnte.

Jens


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 13 February 2001 - 06:52

#Moderation Mode

Moved here