GetProcAddress返回null值

时间:2016-07-08 14:45:44

标签: c++ getprocaddress

我在c ++项目中导出了这个方法

#define EXTERN extern "C"
#define DLL_EXPORT __declspec(dllexport)


EXTERN DLL_EXPORT unsigned int BattleManager::ProcessBattleInEntityProcess()   {
    ....
}

使用dumpbin我得到该方法的以下错位名称

?ProcessBattleInEntityProcess@BattleManager@Skill@Entity@@QAEHXZ

但是,当我在.NET 4.5项目中导入该方法时,我收到错误127

 nativeCallbackName = "?ProcessBattleInEntityProcess@BattleManager@Skill@Entity@@QAEHXZ";
 IntPtr _procAddress = NativeAPI.GetProcAddress(_nativeCallbackDLL, nativeCallbackName);
if (_procAddress == IntPtr.Zero)
{
     Console.WriteLine("NULL ADDRESS for {0}", nativeCallbackName);
     Console.WriteLine(Marshal.GetLastWin32Error());
     return;
 }

这只是一些提取的代码,其他方法效果很好。

0 个答案:

没有答案