Accessing Caller's routines from a DLL

I've got a DLL from which I wish to access routines residing in the process that loaded the DLL. So in other words, an application has a routine foo that I wish to be able to call from within a DLL that the application loaded. Note that I aready use pointers to functions to accomplish this. However I would like something more streamlined, like the ease of calling into DLLs normally.
It seems this should be possible because a DLL is loaded into the parent process' calling space. Also when statically linking DLLs a dummy LIB is used as a placeholder for the routines that are resolved dynamically when the application is loaded. It appears the only purpose in this is to keep the linker happy. Perhaps it would be possible to do something like that in reverse.
It should be possible to LoadLibrary and GetProcAddress the parent exe from the dll. However I'm right back at pointers-to-functions, so that is no better than my current solution.
One last thing is that I have full control over both the app and the dll, so I can make whatever modifications are needed to the application itself.
Any suggestions?
Thanks.
Dan East
It seems this should be possible because a DLL is loaded into the parent process' calling space. Also when statically linking DLLs a dummy LIB is used as a placeholder for the routines that are resolved dynamically when the application is loaded. It appears the only purpose in this is to keep the linker happy. Perhaps it would be possible to do something like that in reverse.
It should be possible to LoadLibrary and GetProcAddress the parent exe from the dll. However I'm right back at pointers-to-functions, so that is no better than my current solution.
One last thing is that I have full control over both the app and the dll, so I can make whatever modifications are needed to the application itself.
Any suggestions?
Thanks.
Dan East