HRESULT CopyFileFromGuestToHost([in] BSTR guestPathName, [in] BSTR hostPathName, [in] LONG options, [in] IVixHandle* propertyList, [in] ICallback* jobDoneCallback, [out,retval] IJob** copyJob);
Copies a file or directory from the guest operating system to the local system (where the Vix client is running).
VBScript:
Dim lib Dim host Dim job Dim vm Dim result Set lib = CreateObject("VixCOM.VixLib") 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 err = job.Wait(Array(VixCOM.Constants.VIX_PROPERTY_JOB_RESULT_HANDLE), results) If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If Set host = results(0) Set job = host.OpenVM("c:\Virtual Machines\vm1\win2000.vmx", Nothing) err = job.Wait(Array(VixCOM.Constants.VIX_PROPERTY_JOB_RESULT_HANDLE), results) If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If Set vm = results(0) Set job = vm.PowerOn(VixCOM.Constants.VIX_VMPOWEROP_LAUNCH_GUI, Nothing, Nothing) err = job.WaitWithoutResults() If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If Set job = vm.WaitForToolsInGuest(300, Nothing) err = job.WaitWithoutResults() If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If Set job = vm.LoginInGuest("vixuser", "secret", 0, Nothing) err = job.WaitWithoutResults() If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If Set job = vm.CopyFileFromGuestToHost("c:\guestDir\helloworld.o", "c:\hostDir\helloworld.o", 0, Nothing, Nothing) err = job.WaitWithoutResults() If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If host.Disconnect()