In general, the expected calling pattern for these supplied function pointers for a scalar UDF look like this:
_start_extfn(if supplied) _evaluate_extfn (repeated 0 to numerous times) _finish_extfn(if supplied)