// JP opened flex table

Click to See Complete Forum and Search --> : Volume Serial Number of a Hard Drive


Swaleh K
December 12th, 2001, 07:32 AM
Dear Friend,

Can you please tell me how I can get the volume serial number of hard drive from my VC++ application. Please let me know the API for the same or the sample code to do this.

Best Regards,
Swaleh

gbalog
December 19th, 2001, 06:20 AM
DWORD GetVolID(void)
{
int i;
DWORD VolumeSerialNumber, dwDummy;
char driveName[255], VolumeName[255], dummyBuf[255];

if(!GetWindowsDirectory(driveName, 255))
return 0;

for(i=0; driveName[i]; i++)
if(driveName[i] == '\\')
driveName[i+1] = 0;

if(!GetVolumeInformation(driveName, VolumeName, 255, &VolumeSerialNumber, &dwDummy, &dwDummy, dummyBuf, 255))
return 0;

return VolumeSerialNumber;
}


Georg Balog

Carlos Gomes
February 21st, 2002, 08:58 AM
Use can use the following code:

DWORD GetVolID(void)
{
UINT m_OldErrMode;

char m_szVolumeNameBuffer[255],
m_szFileSystemNameBuffer[255];
DWORD m_lVolumeSerialNumber,
m_lMaximumComponentLength,
m_lFileSystemFlags;

m_OldErrMode=SetErrorMode(SEM_FAILCRITICALERRORS);

GetVolumeInformation(NULL, m_szVolumeNameBuffer, 255, &m_lVolumeSerialNumber, &m_lMaximumComponentLength, &m_lFileSystemFlags, m_szFileSystemNameBuffer, 255);

#ifdef _DEBUG
AfxMessageBox(m_szVolumeNameBuffer);
AfxMessageBox(m_szFileSystemNameBuffer);
#endif

SetErrorMode(m_OldErrMode);
return m_lVolumeSerialNumber;
}


CGomes

//JP added flex table