PsRequestExecute

Submits a request for the execution of a previously assigned Pulse API call and synchronously waits for its completion.

Syntax

PULSE_STATUS PsRequestExecute(
 [in] PPS_REQUEST pRequest
);

Parameters

PPS_REQUEST pRequest

An opaque handle to a request created by the PsRequestCreate function.

Return value

If the function succeeds, the return value is PULSE_STATUS_SUCCESS.

If it fails, it returns one of the PULSE_STATUS values. Possible return codes include, but are not limited to, the following:

PULSE_STATUS_WRITE_FAILED
0xC0000004
Request packet transmission failed.
PULSE_STATUS_TIMEOUT
0xC0000007
Request packet transmission timed out.
PULSE_STATUS_INVALID_PARAMETER
0xC0000010
The pRequest parameter is NULL.
PULSE_STATUS_NO_PACKET
0xC0000030
No valid reply was received from the debug target.
PULSE_STATUS_INVALID_PACKET
0xC0000031
The reply from the debug target was invalid. Please ensure that Pulse host and Pulse engine use the same version of the debug protocol.
PULSE_STATUS_REQUEST_NOT_INITIALIZED
0xC0000402
No Pulse API function has been assigned to the request.
PULSE_STATUS_REQUEST_BUSY
0xC0000403
The request has already been submitted and not yet completed.
PULSE_STATUS_REQUEST_ALREADY_POSTED
0xC0000404
The request has already been submitted and not yet completed.
PULSE_STATUS_DEVICE_CONNECTION_LOST
0xC0000308
The connection to the transport was lost. Try restarting the engine or the transport.

Remarks

This function requires an assigned Pulse API function, i.e. any PsRequest* function with a payload.

This function is equivalent to a sequence of calls to the PsRequestSubmit function, the PsRequestWait function and the PsRequestGetStatus function.