I need to power on image using vmware API's. I am new user and trying to get it working using available documentation. I am pasting my code here; when I compile this code I am not getting any error but it is not starting image also. Please help me in fixing this code. Here is my code
#include <vmware-vix/vix.h>
#include <vmware-vix/vm_basic_types.h>
#include <stdio.h>
/* Get Host handle*/
int main(int argc, char * argv[])
{
VixHandle hostHandle = VIX_INVALID_HANDLE;
VixHandle jobHandle = VIX_INVALID_HANDLE;
VixHandle regHandle = VIX_INVALID_HANDLE;
VixHandle vmopenHandle = VIX_INVALID_HANDLE;
VixHandle vmpowerHandle = VIX_INVALID_HANDLE;
char vmxFilePath[] = "/data/vmware/ClonedImage/SUSE Linux Enterprise Server.vmx";
VixError err;
// Connect as current user on local host.
jobHandle = VixHost_Connect(VIX_API_VERSION,
VIX_SERVICEPROVIDER_VMWARE_SERVER,
NULL, // hostName
0, // hostPort
NULL, // userName
NULL, //argv[2] password
0, // options
VIX_INVALID_HANDLE, // propertyListHandle
NULL, // callbackProc
NULL); // clientData
//Register virtual machine
/* regHandle = VixHost_RegisterVM(hostHandle,
vmxFilePath,
NULL,
NULL);*/
vmopenHandle = VixVM_Open(jobHandle,
vmxFilePath,
NULL,
NULL);
vmpowerHandle = VixVM_PowerOn(vmopenHandle,
0,
VIX_INVALID_HANDLE, // propertListHandle
NULL, // callbackProc
NULL); // clientData
printf("jobHandle = %d", jobHandle);
printf("hostHandle = %d", hostHandle);
/* printf("regHandle = %d", regHandle);*/
printf("vmopenHandle = %d", vmopenHandle);
printf("vmpowerHandle = %d", vmpowerHandle);
err = VixJob_Wait(jobHandle,
VIX_PROPERTY_JOB_RESULT_HANDLE,
&hostHandle,
VIX_PROPERTY_NONE);
if (VIX_OK != err) {
// Handle the error...
goto abort;
}
Vix_ReleaseHandle(jobHandle);
jobHandle = VIX_INVALID_HANDLE;
// Other code goes here...
abort:
Vix_ReleaseHandle(jobHandle);
Vix_ReleaseHandle(hostHandle);
}
It looks like I am making some basic mistake; your help is appreciated. Thanks