I have encountered two problems at VixJobWait API after issuing VixVM_Open API.
My C++ program monitors properties of VMs such as POWER_STATE, VMX_PATHNAME, REPLAYING and RUNNING from remote work station and also sometimes issues VixVM_PowerOn or powerOffVM with VIX_VMPOWEROP_FROM_GUEST option to VM.
Problem (I) is that
My AP sometimes crushes just after issuing VixJobWait after VixVM_Open API under debug mode.
Exception code is 0xC0000008(An Invlaid handle was specified) in vix.dll!7c94e4df().
But this error seems not to occur under release mode. So I think this is avoidable.
Problem (II) is that
VixJobWait sometimes never return after VixVM_Open API under the both debug and release modes.
I replaced VixVM_Open API with VixHost_OpenVM API but the same problem still occurs.
The attached program, "Proto_VMware_Vix.cpp" is a simple test program which is simplified from my program in order to reproduce the problem.
I repeated "Power On VM" and "Shutdown VM" from vSphere client GUI while the Proto_VMware_Vix was running.
Problem (I) did not occur but problem (II) occurred several times.
Am I wrong in use of VIX API? Or if you have any advice, please let me know.
My test environment:
VMware vSphere4
VIX API 1.8.1
Visual stadio 2005