($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.
$vmHandle. The handle to the opened virtual machine.
use VMware::Vix::Simple; use VMware::Vix::API::Constants;since VMware Workstation 7.0
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;