Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

GetDriveInfo - Drive serial number and other data
[ All Languages » VB »  Windows]

Total Hit ( 2853)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 


Click here to copy the following block
Private Declare Function GetVolumeInformation& Lib "kernel32" Alias _
  "GetVolumeInformationA" (ByVal lpRootPathName As String, _
  ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
  lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
  lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
  ByVal nFileSystemNameSize As Long)

Const MAX_PATH = 260

Const FILE_CASE_SENSITIVE_SEARCH = &H1
Const FILE_CASE_PRESERVED_NAMES = &H2
Const FILE_UNICODE_ON_DISK = &H4
Const FILE_PERSISTENT_ACLS = &H8
Const FILE_FILE_COMPRESSION = &H10
Const FILE_VOLUME_IS_COMPRESSED = &H8000

' return volume name, serial number and file system (eg "FAT") for a given drive
' it fails with removable drives if the disk isn't in place
' the FileSystemFlags argument is a combination of the FILE_* constats
' (see MSDN for additional information)
'
' you can specify an UNC for the drive name
' (e.g."\\MyServer\MyShare as \\MyServer\MyShare\"
' Under Windows95/98 the serial number of network drives isn't returned
'
' Returns True if all information has been retrieved successfully

Function GetDriveInfo(ByVal DriveName As String, Optional VolumeName As String, _
  Optional SerialNumber As Long, Optional FileSystem As String, _
  Optional FileSystemFlags As Long) As Boolean
  
  Dim ignore As Long
  
  ' if it isn't a UNC path, enforce the correct format
  If InStr(DriveName, "\\") = 0 Then
    DriveName = Left$(DriveName, 1) & ":\"
  End If
  
  ' prepare receiving buffers
  SerialNumber = 0
  FileSystemFlags = 0
  VolumeName = String$(MAX_PATH, 0)
  FileSystem = String$(MAX_PATH, 0)
  
  ' The API function return a non-zero value if successful
  GetDriveInfo = GetVolumeInformation(DriveName, VolumeName, Len(VolumeName), _
    SerialNumber, ignore, FileSystemFlags, FileSystem, Len(FileSystem))
  ' drop characters in excess
  VolumeName = Left$(VolumeName, InStr(VolumeName, vbNullChar) - 1)
  FileSystem = Left$(FileSystem, InStr(FileSystem, vbNullChar) - 1)
  
End Function


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.