Module: Device::Library::Windows

Defined in:
lib/device/library/windows.rb

Instance Method Summary collapse

Instance Method Details

#get_device_root_dir(volume_name) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/device/library/windows.rb', line 11

def get_device_root_dir(volume_name)
  @@FileSystemObject ||= WIN32OLE.new("Scripting.FileSystemObject")
  drive_strings = " " * 1000
  result_len = WinAPI.GetLogicalDriveStrings(1000, drive_strings)
  drives = drive_strings[0, result_len].split("\0")
  drives.each do |drive_letter|
    drive_info = @@FileSystemObject.GetDrive(drive_letter)
    vol = drive_info.VolumeName rescue ""
    if vol.downcase == volume_name.downcase
      return File.expand_path(drive_letter)
    end
  end
  nil
end