public void Snap()
        {
            machine.LockMachine(session, LockType.LockType_Write);

            if (machine.SnapshotCount > 0)
            {
                var snapshot = machine.FindSnapshot("origin");
                machine.DeleteSnapshot(snapshot.Id).WaitForCompletion(-1);
            }

            string id;

            machine.TakeSnapshot("origin", "чистое состояние", 1, out id).WaitForCompletion(-1);
            session.UnlockMachine();
        }
Beispiel #2
0
        void UpdateSnapshots(IMachine mc)
        {
            List <ISnapshot> snaps = new List <ISnapshot>();

            listView1.Items.Clear();
            if (mc.SnapshotCount > 0)
            {
                var root = mc.FindSnapshot(null);
                //while (root != null)
                {
                    var snap = root as ISnapshot;
                    snaps.Add(snap);
                    listView1.Items.Add(new ListViewItem(new string[] { root.Name, root.TimeStamp + "" })
                    {
                        Tag = snap
                    });
                    foreach (var item in snap.Children)
                    {
                        snap = item as ISnapshot;
                        snaps.Add(snap);
                        listView1.Items.Add(new ListViewItem(new string[] { snap.Name, snap.TimeStamp + "" })
                        {
                            Tag = snap
                        });
                    }

                    //root = root.Children;
                }
            }
        }
Beispiel #3
0
        public override void RevertSnapshotVM(string SnapshotName)
        {
            SuspendVM();
            VMObjects vo = Instanciate();
            //vo.Session = new SessionClass();
            //machine.LockMachine(vo.Session, LockType.LockType_Shared);
            //vo.Console = vo.Session.Console;
            var snapshot = machine.FindSnapshot(SnapshotName);
            var prog     = vo.Console.RestoreSnapshot(snapshot);

            prog.WaitForCompletion(100000);
            //vo.Session.UnlockMachine();
            releaseObjects(vo);
        }