3.1.4.5.4 IWbemCallResult::GetCallStatus (Opnum 6)

When the IWbemCallResult::GetCallStatus method is invoked, the server MUST return the status of the current outstanding semisynchronous call.

 HRESULT GetCallStatus(
   [in] long lTimeout,
   [out] long* plStatus
 );

lTimeout: MUST be the maximum amount of time, in milliseconds, that the call to GetCallStatus allows to pass before timing out. If the constant WBEM_INFINITE (0xFFFFFFFF) is used, the Skip method call waits until the operation succeeds.

plStatus:  MUST be the status of a call to an IWbemServices method if the WBEM_S_NO_ERROR code is returned for this method. When sent by the client, this parameter MUST NOT be NULL. Upon return by the server, this parameter can be NULL if there is a failure or if there are no results.

Return Values: This method MUST return an HRESULT value that MUST indicate the status of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section 2.2.11) to indicate the successful completion of the method.

WBEM_S_NO_ERROR (0x00)

The server MUST locate the entry in WbemCallResultTable with WbemCallResultPointer matching IWbemCallResult.

The IWbemCallResult::GetCallStatus method MUST be called on the interface that is obtained in response to a previous call to a semisynchronous operation that returns an IWbemCallResult interface.

In response to an IWbemCallResult::GetCallStatus method, the server MUST wait for the operation to finish in lTimeout time. The operation is finished if OperationFinished becomes TRUE. If the operation is not finished in lTimeout time, the server MUST return WBEM_S_TIMEDOUT. If the operation is finished successfully in lTimeout time, the server MUST give the result of the FinalResult operation in the plStatus parameter. The method MUST fail if the method parameters are not valid, as specified earlier in this section, or if the server is unable to execute the method.

The successful method execution MUST fill plStatus with the operation status code of the IWbemServices method operation and MUST return WBEM_S_NO_ERROR.

The failed method execution sets the value that is referenced by the output parameters to NULL and MUST return an error in the format that is specified in section 2.2.11.