我有一个在 .NET 4.0 下运行的 Windows 窗体应用程序。此应用程序导入一个 DLL,可用于:
- 32 位
- 64 位
这是我的代码片段:
[DllImport("my64Bit.dll"), EntryPoint="GetLastErrorText"]
private static extern string GetLastErrorText();
// Do some stuff...
string message = GetLastErrorText();
调用此函数(针对 x64 编译)时,应用程序会崩溃。我什至在 Visual Studio 2012 中都看不到任何调试消息。与 32 位 DLL(为 x86 编译)相同的代码工作正常。原型是:
LPCSTR APIENTRY GetLastErrorText()
不幸的是,我没有关于 DLL 的任何进一步信息,因为它是第三方产品。