Name

VMCreateSnapshot

Description

($err, $snapshotHandle) = VMCreateSnapshot($vmHandle,
                                           $name,
                                           $description,
                                           $options,
                                           $propertyListHandle);

This function saves a copy of the virtual machine state as a snapshot object.

Parameters

vmHandle
Identifies a virtual machine. Call VMOpen() to create a virtual machine handle.
name
A user-defined name for the snapshot; need not be unique.
description
A user-defined description for the snapshot.
options
Flags to specify how the snapshot should be created. Any combination of the following or 0 to exclude memory:
propertyListHandle
Must be VIX_INVALID_HANDLE.

Return Value

$err. The error code returned by the operation. For returned values, see Topics > Error Codes.

$snapshotHandle. A handle to the newly created snapshot.

Remarks

Side Effects

None.

Requirements

use VMware::Vix::Simple;
use VMware::Vix::API::Constants;
since VMware Workstation 6.0

Example

my $err = VIX_OK;
my $hostHandle = VIX_INVALID_HANDLE;
my $vmHandle = VIX_INVALID_HANDLE;
my $snapshotHandle = VIX_INVALID_HANDLE;

($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 = VMPowerOn($vmHandle,
                 VIX_VMPOWEROP_LAUNCH_GUI, # powerOnOptions
                 VIX_INVALID_HANDLE);  # propertyListHandle
die "VMPowerOn() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;

# Create snapshot in powered-on state.
$(err, $snapshotHandle) = VMCreateSnapshot($vmHandle,
                                           undef, # name
                                           undef, # description
                                           VIX_SNAPSHOT_INCLUDE_MEMORY, # options
                                           VIX_INVALID_HANDLE);

Copyright (C) 2007-2011 VMware, Inc. All rights reserved.