Quantcast
Channel: VMware Communities : Popular Discussions - VIX API
Viewing all articles
Browse latest Browse all 34639

Failing to power on image using api

$
0
0

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


Viewing all articles
Browse latest Browse all 34639

Trending Articles