Exporting non-functions from an export driver?

An export driver is essentially a kernel-mode DLL. If you want to learn
more, see the good article: http://www.osr.com/ntinsider/1997/krndll.htm

Anyway, I want to export actual variables from my driver, instead of just
functions. Unfortunately, it does not work as expected.

In my case, I wanted to export a function pointer, instead of the function.
Everything compiled, and seemed to generate the correct assembly (for
example, the caller did a “CALL [functionPointer]” instead of the normal
“CALL functionName”). Unfortunately, the value functionPointer still
pointed at the standard code similar to:
functionPointer: JMP [__imp__functionPointer]
That is, it still assumed it would be called directly instead of indirectly.

Does anyone know of a way to get it to do what I want it to?

I’m thinking that perhaps there are additional keywords that I could put in
my .DEF file?

Curiously enough, the article I mentioned above has the following words:
“Do not put the names of your functions under the EXPORTS section.” I
always do that, and up until now, it has worked fine. Does anyone know why
I wouldn’t want to do that? (Obviously, I should try doing that next.)