cmjff 2016-04-14 07:41 采纳率: 0%
浏览 1655

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
请问这是什么问题啊?求大神,我都查了两天了。
  • 写回答

1条回答 默认 最新

  • 小灸舞 2016-04-14 08:07
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题