Declare Function GetLogicalDriveStrings Lib "kernel32.dll" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long 
Платформа: Win 95/98, Win NT 
GetLogicalDriveStrings определяет имеющие силу логические диски на компьютере и размещает их названия корневых каталогов в строку lpBuffer. Каждое имя корневого каталога в буфере отделено нулевым символом, и полными строковыми концами в двух нулевых символах. Например, если существуют только A: и C: , строка будет " a: \ (пустой указатель) c: \ (пустой указатель) (пустой указатель) ", где (пустой указатель) представляет нулевой символ. Функция возвращает 0, если произошла ошибка, или длина строки, помещенной в lpBuffer, если функция выполнена успешно. 
nBufferLength
Длина строки в буфере lpBuffer. 
lpBufferСтрока,которая получает имена всех логических дисков. 
Пример: 
' Перечисляем имена всех корневых каталогов. Так как каждый вход в строке берет
' Четыре символа (три для имени и один для пустого указателя), мы можем  рассчитать длину
'  строки. Это освобождает нас от проблем относительно пустых указателей.
Dim drivenames As String  ' получаем имена дисков
Dim thisdrive As String  ' буфер для имени диска
Dim c As Long  ' счетчик
Dim slength As Long  ' длина возвращаемой строки
' Создаем место в буфере для имен дисков.
drivenames = Space(255)  ' должно хватить
' Получаем имена всех дисков.
slength = GetLogicalDriveStrings(255, drivenames)  
' считаем по 4 символа для извлечения имен каждого диска.
For c = 1 To slength Step 4  ' 
  thisdrive = Mid(drivenames, c, 3)  ' извлекаем 3-х символьную строку X:\ (где X-буква диска)
  

ebug.Print thisdrive  ' показываем имена дисков
Next c
 
Declare Function GetDriveType Lib "kernel32.dll" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long 
Платформа: Win 95/98, Win NT 
GetDriveType определяет типы дисков на компьютере.Это могут быть жесткие диски,флоппи-диски, CD-ROM и др. Функция возвращает тип диска.Если 0-значит ошибка,если 1-значит диск не существует,другие возвращаемые значения означают следующее: 
DRIVE_CDROM = 5
CD-ROM. 
DRIVE_FIXED = 3
Жесткий диск. 
DRIVE_RAMDISK = 6
RAM-диск. 
DRIVE_REMOTE = 4
Сетевой диск. 
DRIVE_REMOVABLE = 2
Сменный диск(напр.дискетта или любой сменный диск). 
nDrive
Корневой каталог диска,как "c:\" или "a:\" 
Пример
' Определяем тип диска D:
Dim drivetype As Long  
drivetype = GetDriveType("d:\"
  
If drivetype = 1 Then Debug.Print "Диск D:\ не существует."
If drivetype = DRIVE_REMOVABLE Then Print "Диск D:\ сменный диск."
If drivetype = DRIVE_FIXED Then Print "Диск D:\ жесткий диск."
If drivetype = DRIVE_CDROM Then Print "Диск D:\ CD-ROM."
' и т.д.