Also of course, I could be totally wrong about that.

You are. They're mapped into memory as a location independent binary image, and then called in-process. The API consists of some kind of jump table, and the registers have to be set to various things. It's been a while since I looked at it, but that's basically how it works.
_________________________
-- roger