DLL显式加载后,得到了DLL内的导出函数地址,但是调用的时候出现了0X00000005

如题,DLL加载内内存都没有问题,调用GetProcAddress也返回了正常的地址,但是偏偏调用时就出错了,请问如果是DLL加壳或者内部有算法会导致这样的问题吗?
strcpy_s(macRountineName,sizeof(macRountineName),"fnRequestOperation");
if (hinstLib == NULL)
hinstLib = LoadLibrary(TConvert::StrToTStr(mLibraryName).c_str());

    if (hinstLib != NULL)
    {
        SpoGetKey = (REQPROC)GetProcAddress(hinstLib,macRountineName);
    }
    hSecurity = SpoGetKey(lMus_Seed, wAlgorithm, &lMus_Key, wCkSum);

大致代码如上,我单步调试到hSecurity的时候,该值为0x00000005 Aceess is denied
请问这是什么问题啊?求大神,我都查了两天了。

指针的非法访问,比如你向一个不能修改的区域进行了写操作,越界访问了,操作了NULL指针等等