This method handles the following types: CallbackStatus, CallbackStop, CallbackControl,
CallbackSignal.
If this method throws an exception, it causes the remote protocol accept method to error out. The
values of dataLen and data are likely to be empty for Stop and Status.
The executor should fill out the result structure with: returnCode equal 0 for normal completion;
dataLength equal to length of returned data; data equal to the data which should have been allocated
with malloc; bFreeData set to be true if data and dataLength are not empty.