LoadLibrary() - “无效的访问内存位置(998)”

时间:2009-10-30 20:38:54

标签: dll loadlibrary

首先让我说我有一个DLL加载就好了。但是当我去加载第二个DLL时,它总是会出现“无效访问内存位置(998)”错误。

在我的项目中,DLL基本上包含运行AI所需的代码。我构建的另一个应用程序允许您编写简单的代码,然后在幕后编译源代码并使其可用于“游戏”。

基本上我可以加载一个AI(DLL)并观察它做它的事情。下次我发送一个命令来加载一个新的AI(单独和另一个实体)它失败了。我正在为整个过程使用新变量,所以它不应该踩到其他模块。

每个DLL看起来几乎相同,因为它们都以基本相同的方式构建。 (DLL只包含一堆结构和一个函数)。我在想,也许DLL中有一些共同之处,它使得它在某种程度上共享同一个内存的一部分,但我不知道。

我希望我能告诉你DLL源代码,但它不在这台机器上。

如果您有任何想法,请提前感谢!

- 迈克尔

编辑:998错误的正确名称是“ERROR_NOACCESS”。对不起。

1 个答案:

答案 0 :(得分:1)

我知道现在已经很晚了......但也许这会有所帮助:

How to Configure Memory Protection in Windows XP SP2(已发布:2004年12月9日)

上述页面提供以下信息:

  • 简介
  • 开始之前
  • 为计算机上的所有程序启用DEP
  • 启用DEP例外列表
  • 配置系统范围的DEP选项
  • 相关信息