($err, $snapshotHandle) = VMGetRootSnapshot($vmHandle, $index);
This function returns the handle of the specified snapshot belonging to the virtual machine referenced by vmHandle.
$snapshotHandle. A handle to the snapshot.
use VMware::Vix::Simple; use VMware::Vix::API::Constants; [encode] since VMware Server 1.0 [example]my $err = VIX_OK; my $hostHandle = VIX_INVALID_HANDLE; my $vmHandle = VIX_INVALID_HANDLE; my $snapshotHandle = VIX_INVALID_HANDLE; my $numRootSnapshots; my $i; ($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, $numRootSnapshots) = VMGetNumRootSnapshots($vmHandle); die "VMGetNumRootSnapshots() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK; for ($i = 0; $i < $numRootSnapshots; $i++) { ($err, $snapshotHandle) = VMGetRootSnapshot($vmHandle, $i); # index die "VMGetRootSnapshot() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK; # ...Access snapshot properties... ReleaseHandle($snapshotHandle); } ReleaseHandle($vmHandle); HostDisconnect($hostHandle);