/// <summary>
        /// 获取指定分区(或者驱动器)的驱动器格式或文件系统。
        /// </summary>
        /// <param name="driveLetter">指定驱动器所对应的盘符。</param>
        /// <returns>该操作将会返回指定驱动器的文件系统,在Windows环境下,这个操作将不会获取UNIX以及衍生操作系统所支持的文件系统。</returns>
        public static EDriveFormat GetDriveFormat(string driveLetter)
        {
            EDriveFormat format    = EDriveFormat.Win32NTFS;
            DriveInfo    dInfo     = new DriveInfo(driveLetter);
            string       formatStr = dInfo.DriveFormat;

            switch (formatStr)
            {
            case DRIVE_FORMAT_FAT12:
                format = EDriveFormat.Win32FAT12;
                break;

            case DRIVE_FORMAT_FAT16:
                format = EDriveFormat.Win32FAT16;
                break;

            case DRIVE_FORMAT_FAT32:
                format = EDriveFormat.Win32FAT32;
                break;

            case DRIVE_FORMAT_NTFS:
                format = EDriveFormat.Win32NTFS;
                break;

            default:
                throw new UnsupportedDriveFormatException();
            }
            return(format);
        }
        public static long GetSupportedMaximalFileSize(EDriveFormat driveFormat)
        {
            long maximalFileSize = 0;

            switch (driveFormat)
            {
#if UNIX_LINUX_MAC
            case EDriveFormat.LinuxExt:
                maximalFileSize = 2147483648;
                break;

            case EDriveFormat.LinuxExt2:
                maximalFileSize = 2199023255552;
                break;

            case EDriveFormat.LinuxExt3:
            case EDriveFormat.LinuxExt4:
            case EDriveFormat.LinuxJFS:
                maximalFileSize = 17592186044416;
                break;
#endif
#if WINDOWS
            case EDriveFormat.Win32NTFS:
                maximalFileSize = 68719476736;
                break;

            case EDriveFormat.Win32FAT12:
                maximalFileSize = 8388608;
                break;

            case EDriveFormat.Win32FAT16:
                maximalFileSize = 2147483648;
                break;

            case EDriveFormat.Win32FAT32:
                maximalFileSize = 4294967296;
                break;

            case EDriveFormat.Win32NTFSv5:
            default:
                maximalFileSize = 2199023255552;
                break;
#endif
            }
            return(maximalFileSize);
        }