Requests that the state of the job be changed to the value specified in the RequestedState parameter. Invoking the RequestStateChange ...

Requests that the state of the job be changed to the value specified in the RequestedState parameter. Invoking the RequestStateChange method multiple times could result in earlier requests being overwritten or lost. 
If 0 is returned, then the task completed successfully. Any other return code indicates an error condition.