Name

HostOpenVM

Description

($err, $vmHandle) = HostOpenVM($hostHandle,
                               $vmxFilePathName,
                               $options,
                               $propertyListHandle);

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. This function supercedes VMOpen.

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.
options
Must be VIX_VMOPEN_NORMAL.
propertyListHandle
A handle to a property list containing extra information that might be needed to open the VM. This parameter is optional; you can pass VIX_INVALID_HANDLE if no extra information is needed.

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

Requirements

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

Example

The following sample illustrates how to open a regular virtual machine on a VMware Workstation host:
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) = HostOpenVM($hostHandle,
                               "c:\\Virtual Machines\\vm1\\win2000.vmx",
                               0, #options
                               VIX_INVALID_HANDLE); #propertyListHandle
die "HostOpenVM() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;

The following sample illustrates how to open an encrypted virtual machine on a VMware Workstation host:
my $err = VIX_OK;
my $hostHandle = VIX_INVALID_HANDLE;
my $vmHandle = VIX_INVALID_HANDLE;
my $propertyListHandle = 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, $propertyListHandle) = AllocPropertyList($hostHandle,
                                                VIX_PROPERTY_VM_ENCRYPTION_PASSWORD,
                                                "vmPassword",
                                                VIX_PROPERTY_NONE);

die "AllocPropertyList() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;

($err, $vmHandle) = HostOpenVM($hostHandle,
                               "c:\\Virtual Machines\\vm1\\win2000.vmx",
                               VIX_VMOPEN_NORMAL, #options
                               $propertyListHandle); #propertyListHandle
die "HostOpenVM() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;


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