[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
> GetDiskFreeSpace(lpszRootPathName,
>                        lpSectorsPerCluster,
>                        lpBytesPerSector,
>                        lpFreeClusters,
>                        lpClusters);
The help file for this is:
BOOL GetDiskFreeSpace(
    LPCTSTR  lpRootPathName,    // address of root path
    LPDWORD  lpSectorsPerCluster,       // address of sectors per cluster
    LPDWORD  lpBytesPerSector,  // address of bytes per sector
    LPDWORD  lpNumberOfFreeClusters,    // address of number of free clusters
    LPDWORD  lpTotalNumberOfClusters    // address of total number of clusters
   );
Therefore, define the following variables:
Var Path:String;
      Sectors,Bytes,free,total:DWORD;
      FreeK,TotalK :Integer;
Assign the root directory of some drive to PATH.  For example,
if you want to get the information for drive C:, then
  PATH:='C:\';
if you want to get the information for volume SysVol on
server MainServer, then
  PATH:='\\MainServer\SysVol\';
The code to retrieve the total Kilobytes and free Kilobytes of the
drive goes as follows:
if getdiskfreespace(pchar(Path),sects,bytes,free,total) then
begin
   totalK:=trunc(((sects*bytes)/1024)*total);
   freeK:=trunc(((sects*bytes)/1024)*free);
end else
begin
  // error-- no access, drive doesn't provide this info, or drive doesn't exist
  totalK:=0;
  freeK:=0;
end;
Use the same methodology to use the other similar API functions.
I hope that helped.
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]