Name
VMOpen
Description
($err, $vmHandle) = VMOpen($hostHandle,
$vmxFilePathName);
This function opens a virtual machine on the host that is identified by the
hostHandle parameter and returns a context to that machine as a virtual machine handle.
Parameters
- hostHandle
-
The handle of a host object, typically returned from HostConnect().
- vmxFilePathName
-
The path name of the virtual machine configuration
file on the local host.
Return Value
$err. The error code returned by the operation. For returned values, see Topics > Error Codes.
$vmHandle. The handle to the opened virtual machine.
Remarks
- This function opens a virtual machine on the host that is identified by the
hostHandle parameter. The virtual machine is identified by vmxFilePathName,
which is a path name to the configuration file (.VMX file) for that virtual
machine.
- The format of the path name depends on the host operating system.
For example, a path name for a Windows host requires backslash as
a directory separator, whereas a Linux host requires a forward slash.
If the path name includes backslash characters, you need to precede each
one with an escape character. For VMware Server 2.x, the path
contains a preceeding data store, for example [storage1] vm/vm.vmx.
- For VMware Server hosts, a virtual machine must be registered before you
can open it. You can register a virtual machine by opening it with the
VMware Server Console, through the vmware-cmd command with the register
parameter, or with
RegisterVM().
Side Effects
None.
Requirements
use VMware::Vix::Simple;
use VMware::Vix::API::Constants;
since VMware Server 1.0
Example
my $err = VIX_OK;
my $hostHandle = VIX_INVALID_HANDLE;
my $vmHandle = 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;