Click here to Skip to main content
Click here to Skip to main content

Getting Drive's Volume Information using C#

, 20 Dec 2007 CPOL
Rate this:
Please Sign up or sign in to vote.
Getting Drive's Volume Information using C#


First of all, I want to say sorry for my poor English. In this article, I try to explain how to get the volume information of our logical drives by using kernel32.dll.


This DLL supports capabilities that are associated with OS such as:

  • Process loading
  • Context switching
  • File I/O
  • Memory management


This function is used to get the volume information of drive. It gives serial number, volume name and file type.

The following is the declaration of GetVolumeInformation function:

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern bool GetVolumeInformation(string Volume, StringBuilder VolumeName, 
	uint VolumeNameSize, out uint SerialNumber, out uint SerialNumberLength, 
	out uint flags, StringBuilder fs, uint fs_size);

DllImport is used to import the kernel32.dll file. The out variable SerialNumber will return the serial number of a given drive. Here, the following code will explain how to get volume information of a given drive.

uint serialNum, serialNumLength, flags;
StringBuilder volumename = new StringBuilder(256);
StringBuilder fstype = new StringBuilder(256); 

bool ok = = GetVolumeInformation(drives, volumename, 
	(uint)volumename.Capacity - 1, out serialNum, out serialNumLength, 
	out flags, fstype, (uint)fstype.Capacity - 1);

if (ok)
  lblVolume.Text = lblVolume.Text + "\n Volume Information of " + drives + "\n";
  lblVolume.Text = lblVolume.Text + "\nSerialNumber of is..... " + 
	serialNum.ToString() + " \n";
   if (volumename != null)
   lblVolume.Text = lblVolume.Text + "VolumeName is..... " + 
	volumename.ToString() + " \n";
if (fstype != null)
 lblVolume.Text = lblVolume.Text + "FileType is..... " + fstype.ToString() + " \n";

Hope this will help you. Smile | :)


  • 20th December, 2007: Initial post


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Web Developer
India India
Hi Viewers,

I wish to all. This is Vinoth. This is where I try to condense everything that you need to know about me.
visit my blog

I'm passionate about a great many things and continually learning about the things that interest me. They are wearable computers, User Interface Design, Artificial life, Industrial music.



Comments and Discussions

Questionget volume label Pinmembervdeo112-Dec-13 20:21 
GeneralMy vote of 5 PinmemberArmandoHeck13-Feb-13 6:20 
GeneralSystem.IO.DriveInfo PinmemberDaniele Rota Nodari18-Jul-12 0:30 
GeneralRe: System.IO.DriveInfo Pinmemberocelot24-Feb-13 21:16 
SuggestionRe: System.IO.DriveInfo PinmemberDaniele Rota Nodari24-Feb-13 22:35 
GeneralMy vote of 5 Pinmemberterenyang26-Oct-11 0:02 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150326.1 | Last Updated 21 Dec 2007
Article Copyright 2007 by S.Vinothkumar
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid