[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]