I'm working on the project (that I didn't write) and I'm stumped by the following.
First off, there's a struct that contains names of API loaded dynamically. Something like this:
Code:
typedef struct _DYN_DLL_PROC{
FARPROC pfnDwmIsCompositionEnabled;
//And so on
}DYN_DLL_PROC *LPDYN_DLL_PROC;
Then there's a global variable declared in the cpp file where CWinApp-derived class resides (right next to where MFC puts declaration for its own
theApp variable):
This struct is loaded from within the CWinApp-derived class constructor as such:
Code:
fns.pfnDwmIsCompositionEnabled = GetProcAddress(hDWMApi, "DwmIsCompositionEnabled");
But what happens is that when that API is intended to be used later on from CDialog-derived class
fns.pfnDwmIsCompositionEnabled still appears as NULL! I checked the loading process above and it does not return NULL. What can be the issue here?