DriveInfo Class 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides access to information on a drive.
public ref class DriveInfo sealed : System::Runtime::Serialization::ISerializablepublic ref class DriveInfo sealedpublic sealed class DriveInfo : System.Runtime.Serialization.ISerializablepublic sealed class DriveInfo[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class DriveInfo : System.Runtime.Serialization.ISerializabletype DriveInfo = class
    interface ISerializabletype DriveInfo = class[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type DriveInfo = class
    interface ISerializablePublic NotInheritable Class DriveInfo
Implements ISerializablePublic NotInheritable Class DriveInfo- Inheritance
- 
				DriveInfo
- Attributes
- Implements
Examples
The following code example demonstrates the use of the DriveInfo class to display information about all of the drives on the current system.
using System;
using System.IO;
class Test
{
    public static void Main()
    {
        DriveInfo[] allDrives = DriveInfo.GetDrives();
        foreach (DriveInfo d in allDrives)
        {
            Console.WriteLine("Drive {0}", d.Name);
            Console.WriteLine("  Drive type: {0}", d.DriveType);
            if (d.IsReady)
            {
                Console.WriteLine("  Volume label: {0}", d.VolumeLabel);
                Console.WriteLine("  File system: {0}", d.DriveFormat);
                Console.WriteLine(
                    "  Available space to current user:{0, 15} bytes",
                    d.AvailableFreeSpace);
                Console.WriteLine(
                    "  Total available space:          {0, 15} bytes",
                    d.TotalFreeSpace);
                Console.WriteLine(
                    "  Total size of drive:            {0, 15} bytes ",
                    d.TotalSize);
            }
        }
    }
}
/*
This code produces output similar to the following:
Drive A:\
  Drive type: Removable
Drive C:\
  Drive type: Fixed
  Volume label:
  File system: FAT32
  Available space to current user:     4770430976 bytes
  Total available space:               4770430976 bytes
  Total size of drive:                10731683840 bytes
Drive D:\
  Drive type: Fixed
  Volume label:
  File system: NTFS
  Available space to current user:    15114977280 bytes
  Total available space:              15114977280 bytes
  Total size of drive:                25958948864 bytes
Drive E:\
  Drive type: CDRom
The actual output of this code will vary based on machine and the permissions
granted to the user executing it.
*/
Imports System.IO
Class Test
    Public Shared Sub Main()
        Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
        Dim d As DriveInfo
        For Each d In allDrives
            Console.WriteLine("Drive {0}", d.Name)
            Console.WriteLine("  Drive type: {0}", d.DriveType)
            If d.IsReady = True Then
                Console.WriteLine("  Volume label: {0}", d.VolumeLabel)
                Console.WriteLine("  File system: {0}", d.DriveFormat)
                Console.WriteLine( _
                    "  Available space to current user:{0, 15} bytes", _
                    d.AvailableFreeSpace)
                Console.WriteLine( _
                    "  Total available space:          {0, 15} bytes", _
                    d.TotalFreeSpace)
                Console.WriteLine( _
                    "  Total size of drive:            {0, 15} bytes ", _
                    d.TotalSize)
            End If
        Next
    End Sub
End Class
'This code produces output similar to the following:
'
'Drive A:\
'  Drive type: Removable
'Drive C:\
'  Drive type: Fixed
'  Volume label: 
'  File system: FAT32
'  Available space to current user:     4770430976 bytes
'  Total available space:               4770430976 bytes
'  Total size of drive:                10731683840 bytes 
'Drive D:\
'  Drive type: Fixed
'  Volume label: 
'  File system: NTFS
'  Available space to current user:    15114977280 bytes
'  Total available space:              15114977280 bytes
'  Total size of drive:                25958948864 bytes 
'Drive E:\
'  Drive type: CDRom
'
'The actual output of this code will vary based on machine and the permissions
'granted to the user executing it.
Remarks
This class models a drive and provides methods and properties to query for drive information. Use DriveInfo to determine what drives are available, and what type of drives they are. You can also query to determine the capacity and available free space on the drive.
Constructors
| DriveInfo(String) | Creates a new instance of the DriveInfo class. | 
Properties
| AvailableFreeSpace | Indicates the amount of available free space on a drive, in bytes. | 
| DriveFormat | Gets the name of the file system, such as NTFS or FAT32. | 
| DriveType | Gets the drive type, such as CD-ROM, removable, network, or fixed. | 
| IsReady | Gets a value that indicates whether a drive is ready. | 
| Name | Gets the name of a drive, such as C:\. | 
| RootDirectory | Gets the root directory of a drive. | 
| TotalFreeSpace | Gets the total amount of free space available on a drive, in bytes. | 
| TotalSize | Gets the total size of storage space on a drive, in bytes. | 
| VolumeLabel | Gets or sets the volume label of a drive. | 
Methods
| Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object) | 
| GetDrives() | Retrieves the drive names of all logical drives on a computer. | 
| GetHashCode() | Serves as the default hash function.(Inherited from Object) | 
| GetType() | Gets the Type of the current instance.(Inherited from Object) | 
| MemberwiseClone() | Creates a shallow copy of the current Object.(Inherited from Object) | 
| ToString() | Returns a drive name as a string. | 
Explicit Interface Implementations
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) | Populates a SerializationInfo object with the data needed to serialize the target object. |