I tried to make sense of this issue by referring to direct draw and open gl dlls, but just got more confused.
Do NOT look at DirectDraw or OpenGL for references as how it is done... The current stuff there are mostly hacks to get the DLL separation to work (ie for DDraw, it should go through a proper HAL and for OpenGL, it's not documented how Windows did it, so we did our own hacks).
Lionel