Evaluating NURB surfaces

I need help evaluating NURB surfaces. I see the functions glMapxx and glEvalxxx and they seem like what I want, but they don’t directly return the evaluated x,y,z coordinate. How do I do that?