Btw, many tks for the tips.
Now the main function to be used by teh user is simply this:
call TimeProfiler D$SamplesToCollect, D$Iterations, D$AlgoMethod, MyPointer, Algoritm1
SamplestoCollect: Input the amunt of samples
Iterations: Input the iterations he wants to be performed
AlgoMethod: A value (equate) corresponding to the chosen algo method
MyPointer: A callback function to teh user uses the generated results as he want inside or outside a thread
Algoritm1: The user´s target callback function to be tested.
At eax If the fucntion suceed it returns a structure containing the Standard Deviation results to he uses
Or if the function fails, it returns 0 and places the error messages on the dwStatusCode (The parameter for the callback function "MyPointer") as you suggested.