I'm using VB 2010 and the following console app on my computer:
Module Module1
Sub Main()
For Each drive As String In System.Environment.GetLogicalDrives()
Try
Dim info As System.IO.DriveInfo = My.Computer.FileSystem.GetDriveInfo(drive)
Console.WriteLine()
Console.WriteLine("Name " & info.Name.ToString)
Console.WriteLine("VolumeLabel " & info.VolumeLabel.ToString)
Console.WriteLine("DriveType " & info.DriveType.ToString)
Console.WriteLine("DriveFormat " & info.DriveFormat.ToString)
Console.WriteLine("AvailableFreeSpace " & info.AvailableFreeSpace.ToString)
Console.WriteLine("RootDirectory " & info.RootDirectory.ToString)
Console.WriteLine("TotalFreeSpace " & info.TotalFreeSpace.ToString)
Console.WriteLine("TotalSize " & info.TotalSize.ToString)
Catch e As System.IO.IOException
Console.WriteLine()
Console.WriteLine("Drive " & drive & " not available")
End Try
Next
End Sub
End Module
Generates the following:
Name C:\
VolumeLabel C-OS
DriveType Fixed
DriveFormat NTFS
AvailableFreeSpace 7191638016
RootDirectory C:\
TotalFreeSpace 7191638016
TotalSize 42443206656
Name D:\
VolumeLabel D-DATA
DriveType Fixed
DriveFormat NTFS
AvailableFreeSpace 42670780416
RootDirectory D:\
TotalFreeSpace 42670780416
TotalSize 205294755840
Name E:\
VolumeLabel E-DATA
DriveType Fixed
DriveFormat NTFS
AvailableFreeSpace 62134550528
RootDirectory E:\
TotalFreeSpace 62134550528
TotalSize 250056704000
Name F:\
VolumeLabel Roxio Creator DE
DriveType CDRom
DriveFormat CDFS
AvailableFreeSpace 0
RootDirectory F:\
TotalFreeSpace 0
TotalSize 146671616
Name W:\
Drive W:\ not available
Note that I am using slightly different system calls than you are. Try my code on your machine and tell me what you get.