$err = VMRevertToSnapshot($vmHandle,
$snapshotHandle,
$options,
$propertyListHandle);
Restores the virtual machine to the state when the specified snapshot was created.
use VMware::Vix::Simple; use VMware::Vix::API::Constants;since VMware Server 1.0
my $err = VIX_OK;
my $hostHandle = VIX_INVALID_HANDLE;
my $vmHandle = VIX_INVALID_HANDLE;
my $snapshotHandle = VIX_INVALID_HANDLE;
my $numRootSnapshots = 0;
($err, $hostHandle) = HostConnect(VIX_API_VERSION,
VIX_SERVICEPROVIDER_VMWARE_WORKSTATION,
undef, # hostName
0, # hostPort
undef, # userName
undef, # password
0, # options
VIX_INVALID_HANDLE); # propertyListHandle
die "HostConnect() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
($err, $vmHandle) = VMOpen($hostHandle,
"c:\\Virtual Machines\\vm1\\win2000.vmx");
die "VMOpen() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
($err, $snapshotHandle) = VMGetRootSnapshot($vmHandle,
0); # index
die "VMGetRootSnapshot() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
$err = VMRevertToSnapshot($vmHandle,
$snapshotHandle,
VIX_VMPOWEROP_NORMAL, # options
VIX_INVALID_HANDLE); # property handle
die "VMRevertToSnapshot() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
ReleaseHandle($snapshotHandle);
ReleaseHandle($vmHandle);
HostDisconnect($hostHandle);