Rather than clog up the forum with this, I've pastebinned it: http://pastebin.com/GZV8mbbC
The vertex format I used was position (3 floats), normal (3 floats) and texcoords (2 floats) - which I've called 's' and 't' rather than 'u' and 'v', showing my OpenGL background (I'm actually fairly certain that I pulled the original from MESA's implementation of GLU quadrics).
Disclaimer: this is OLD code for me so don't be expecting it to have much in the way of modern coding styles, OK. ;)
thank you! how its function VectorNormalize?
Why did you leave the FVF in CreateVertexBuffer to 0?