Code:
Private Declare Function GetDriveType Lib \"kernel32\" Alias \"GetDriveTypeA\" _
        (ByVal nDrive As String) As Long
Private Declare Function GetDiskFreeSpace Lib \"kernel32\" Alias \"GetDiskFreeSpaceA\" _
    (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, _
    lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, _
    lpTtoalNumberOfClusters As Long) As Long
    
Private Declare Function GetCurrentDirectory Lib \"kernel32\" Alias \"GetCurrentDirectoryA\" _
    (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Declare Function GetWindowsDirectory Lib \"kernel32\" _
    Alias \"GetWindowsDirectoryA\" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Const DRIVE_CDROM = 5
Const DRIVE_FIXED = 3
Const DRIVE_RAMDISK = 6
Const DRIVE_REMOTE = 4
Const DRIVE_REMOVABLE = 2