I am using VIX APIs to power up a VM. VMWare server runs on Windows Server 2003 R2 64-bit edition. 32-bit client that uses VIX works just fine when run remotely. When run locally VixJob_Wait called after VixHost_Connect returns error VIX_E_NOT_SUPPORTED. The C++ source follows. When I run locally host, user, password parameters are NULLs. Any help will be deeply appreciated.
if (argc == 5) {
host=argv[1];
user=argv[2];
password=argv[3];
vmxPath = argv[4];
} else {
usage();
exit(EXIT_FAILURE);
}
printf("\"%s\" \"%s\" \"%s\" \"%s\"\n",host,user,password,vmxPath);
jobHandle = VixHost_Connect(1, VIX_SERVICEPROVIDER_VMWARE_SERVER,
strlen(host)?host:NULL,
strlen(host)?902:0,
strlen(user)?user:NULL,
strlen(password)?password:NULL,
0, // options,
VIX_INVALID_HANDLE, // propertyListHandle,
NULL, // *callbackProc,
NULL); // *clientData);
err = VixJob_Wait(jobHandle,
VIX_PROPERTY_JOB_RESULT_HANDLE,
&hostHandle,
VIX_PROPERTY_NONE);
printf("VixHost_Connect err=%d\n",err);
if (VIX_FAILED(err)) {
goto abort;
}
Vix_ReleaseHandle(jobHandle);