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): Code: DYN_DLL_PROC fns; 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?