Name

OpenVMEx

Description

HRESULT
OpenVMEx([in] BSTR vmxFilePath,
         [in] LONG openVMOptions,
         [in] IVixHandle* propertyList,
         [in] ICallback* jobDoneCallback,
         [out,retval] IJob** openJob);

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 OpenVM.

Parameters

vmxFilePathName
The path name of the virtual machine configuration file on the local host.
openVMOptions
Must be VixCOM.Constants.VIX_VMOPEN_NORMAL.
propertyList
A property list containing extra information that might be needed to open the VM. You can pass NULL (C++), null (C#), or Nothing (VB) if no extra information is needed.
jobDoneCallback
An ICallback instance that will be called when the operation is complete.
openJob
Returns an IJob object that describes the state of this asynchronous operation.

Return Value

Remarks

Requirements

vixCOM.h, since VMware Workstation 7.0

Example

VBScript:
Dim lib
Dim host
Dim vm
Dim err
Dim results
Dim job

Set lib = CreateObject("VixCOM.VixLib")

' Connect to the local installation of Workstation. This also initializes the VIX API.
Set job = lib.Connect(VixCOM.Constants.VIX_API_VERSION, VixCOM.Constants.VIX_SERVICEPROVIDER_VMWARE_WORKSTATION, Empty, 0, Empty, Empty, 0, Nothing, Nothing)

' results needs to be initialized before it's used, even if it's just going to be overwritten.
Set results = Nothing

' Wait waits until the job started by an asynchronous function call has finished. It also
' can be used to get various properties from the job. The first argument is an array
' of VIX property IDs that specify the properties requested. When Wait returns, the
' second argument will be set to an array that holds the values for those properties,
' one for each ID requested.
err = job.Wait(Array(VixCOM.Constants.VIX_PROPERTY_JOB_RESULT_HANDLE), results)
If lib.ErrorIndicatesFailure(err) Then
   ' Handle the error...
End If

' The job result handle will be first element in the results array.
Set host = results(0)

' Open the virtual machine with the given .vmx file.
Set job = host.OpenVMEx("C:\VMs\winxpprowithsp2\winxpprowithsp2.vmx", VixCOM.Constants.VIX_VMOPEN_NORMAL, Nothing, Nothing)
err = job.Wait(Array(VixCOM.Constants.VIX_PROPERTY_JOB_RESULT_HANDLE), results)
If lib.ErrorIndicatesFailure(err) Then
   ' Handle the error...
End If

Set vm = results(0)

'Execute other commands here

Set results = Nothing
Set job = Nothing
Set vm = Nothing

host.Disconnect()


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