VS2008 C# winform 64位程序动态调用VC++ 64位DLL LoadLibrary成功 但是GetProcAddress返回值为0

如果通过 Vs MFC 中调用这个64DLL 用同样的方式动态调用获取函数地址成功,就不知道C#里面为什么返回0。通过Marshal返回值为126. 64DLL是 通过VC6.0建立的程序然后用vs2010自动转换的然后编译生成的64位的DLL.2008建的也不行

找到问题了,64平台 LoadLibrary 返回值在C#中要定义成int 64 否则长度不够

C#调用DLL一般类似这样写的:
[DllImport("user32.dll", EntryPoint="MessageBoxA")]
static extern int MessageBox(int hWnd, string msg, string caption, int type);