/// <summary> /// Returns a Disk object associated with an existing virtual disk image file. The name (extension) of the file name determines the /// type of Disk object actually returned. /// </summary> /// <param name="filename">File name of virtual disk image.</param> /// <param name="iswriteable">Returns a writeable Disk object if this is <value>true</value>.</param> /// <returns>A Disk object associated with the given file.</returns> public static IDisk OpenDisk(string filename, bool iswriteable) { filename = filename.ToLowerInvariant(); var access = iswriteable ? FileAccess.ReadWrite : FileAccess.Read; if (filename.EndsWith(".vdk")) { return(VdkDisk.Open(new FileStream(filename, FileMode.Open, access), iswriteable)); } if (filename.EndsWith(".dsk")) { return(JvcDisk.Open(new FileStream(filename, FileMode.Open, access), iswriteable)); } if (filename.EndsWith(".hfe")) { return(HfeDisk.Open(new FileStream(filename, FileMode.Open, access), iswriteable)); } if (filename.EndsWith(".dmk")) { return(DmkDisk.Open(new FileStream(filename, FileMode.Open, access), iswriteable)); } return(null); }