HRESULT OpenVM([in] BSTR vmxFilePath, [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.
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 intializes 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.OpenVM("C:\VMs\winxpprowithsp2\winxpprowithsp2.vmx", 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)