Exemplo n.º 1
0
        /// <summary>
        /// 装载UFED镜像
        /// </summary>
        /// <param name="mirrors"></param>
        /// <returns></returns>
        private IntPtr MountRaid(IList <string> mirrors)
        {
            var raid = new RAID_INFO_EX
            {
                dvi = new DEVICE_BASE_INFO[128]
            };

            for (var i = 0; i < mirrors.Count; i++)
            {
                var file = mirrors[i];
                if (!System.IO.File.Exists(file))
                {
                    //LogHelper.Error(string.Format(LanguageHelper.Get("LANGKEY_WenJianBuCunZai_01571"), file));
                    continue;
                }
                var info = new DEVICE_BASE_INFO();
                info.dev_type   = 0x11;
                info.offset_sec = 0;
                info.len        = (ulong)FileHelper.GetFileLength(file);
                info.secs       = (info.len + 511) / 512;
                info.hDev       = FileServiceCoreDll.OpenFile(file);
                raid.dvi[i]     = info;
            }
            // 阵列类型
            raid.raid_type = 0x8000;
            // 磁盘个数
            raid.dsk_counts = (uint)mirrors.Count;
            var resut = FileServiceCoreDll.MountRaid(ref raid);

            this.RaidInfoEx = raid;
            return(resut);
        }
Exemplo n.º 2
0
 public static extern UInt32 AnalyzeRaidInfo(IntPtr hMntRaid, lpfn_raid_update_progress lpfn, ref RAID_INFO_EX pRaidInfoEx);
Exemplo n.º 3
0
 public static extern UInt32 GetRaidInfo(IntPtr hMntRaid, ref RAID_INFO_EX pRaidInfoEx);
Exemplo n.º 4
0
 public static extern IntPtr MountRaid(ref RAID_INFO_EX pRaidInfoEx);
Exemplo n.º 5
0
 /// <summary>
 /// 分析-阵列信息
 /// </summary>
 /// <param name="hMntRaid">阵列装载句柄</param>
 /// <param name="lpfn">进度回调</param>
 /// <param name="pRaidInfoEx">输出阵列信息</param>
 /// <returns></returns>
 public UInt32 AnalyzeRaidInfoEx(IntPtr hMntRaid, lpfn_raid_update_progress lpfn, ref RAID_INFO_EX pRaidInfoEx)
 {
     return(AnalyzeRaidInfo(hMntRaid, lpfn, ref pRaidInfoEx));
 }
Exemplo n.º 6
0
 /// <summary>
 /// 获取-阵列信息
 /// </summary>
 /// <param name="hMntRaid">阵列句柄</param>
 /// <param name="pRaidInfoEx">输出阵列信息结构指针</param>
 public UInt32 GetRaidInfoEx(IntPtr hMntRaid, ref RAID_INFO_EX pRaidInfoEx)
 {
     return(GetRaidInfo(hMntRaid, ref pRaidInfoEx));
 }
Exemplo n.º 7
0
 /// <summary>
 /// 装载镜像矩阵接口
 /// </summary>
 /// <param name="pRaidInfoEx">矩阵结构信息</param>
 /// <returns>阵列句柄</returns>
 public IntPtr MountRaidEx(ref RAID_INFO_EX pRaidInfoEx)
 {
     return(MountRaid(ref pRaidInfoEx));
 }