Name
VixJob_Wait
Description
VixError
VixJob_Wait(VixHandle jobHandle,
VixPropertyID firstPropertyID,
...);
Wait for a particular job to complete.
Unsuitable for asynchronous operations with
callback procedure.
Parameters
- jobHandle
-
The handle of a job object, returned from any asynchronous
Vix function.
- firstPropertyID
-
The identity of a property, or else VIX_PROPERTY_NONE.
Return Value
VixError. The error resulting from the asynchronous operation that returned
the job handle.
Remarks
- This function blocks until the job completes.
- If one or more property IDs are passed, their values are returned by this
function. A property is requested by passing its ID in one parameter,
followed by a reference to a storage location of the same type as the
property value. After the last reference, terminate the list with the
value VIX_PROPERTY_NONE.
- The error code returned by this function is the same as the error code
returned by
VixJob_GetError().
- The error code returned by this function is also available in the
VIX_JOB_RESULT_ERROR_CODE
property of the job object.
- Do not use
VixJob_Wait()
to complete a job for which you have passed a
callback routine.
The completion order in such a situation is undefined,
and you cannot rely on the resulting property values.
Side Effects
None.
Requirements
vix.h, since VMware Server 1.0.
Example
VixError err = VIX_OK;
VixHandle hostHandle = VIX_INVALID_HANDLE;
VixHandle jobHandle = VIX_INVALID_HANDLE;
VixHandle vmHandle = VIX_INVALID_HANDLE;
int errorLineNum;
jobHandle = VixHost_Connect(VIX_API_VERSION,
VIX_SERVICEPROVIDER_VMWARE_WORKSTATION,
NULL, // hostName
0, // hostPort
NULL, // userName
NULL, // password,
0, // options
VIX_INVALID_HANDLE, // propertyListHandle
NULL, // callbackProc
NULL); // clientData
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 = VixVM_Open(hostHandle,
"c:\\Virtual Machines\\vm1\\win2000.vmx",
NULL, // callbackProc
NULL); // clientData
err = VixJob_Wait(jobHandle,
VIX_PROPERTY_JOB_RESULT_HANDLE,
&vmHandle,
VIX_PROPERTY_NONE);
if (VIX_OK != err) {
// Handle the error...
goto abort;
}
abort:
Vix_ReleaseHandle(jobHandle);
Vix_ReleaseHandle(vmHandle);
VixHost_Disconnect(hostHandle);