例外 - 在dll </function>中找不到<function>的EntryPoint

时间:2012-06-18 10:47:02

标签: c# dllimport name-mangling entrypointnotfoundexcept

我创建了一个C ++ DLL,我将其导入C#应用程序以重用函数。 C ++中的函数代码是static bool IsDisplayDeviceAttached(char *Arg1[])

当我在C#程序中使用如下的DllImport时,

[DllImport("DllName", EntryPoint="?IsDisplayDeviceAttached@@YA_NQAPAD@Z", CallingConvention = CallingConvention.Cdecl)] 
static extern bool IsDisplayDeviceAttached([MarshalAsAttribute(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)] string[] Display);

我仍然得到EntryPointNotFound异常的错误。 我还使用ExactSpelling = true以及上面的内容,但都导致错误。

1)任何人都可以指导代码仍有问题吗?

2)另外,为什么我们给出_Cdecl和ExactSpelling参数等(想知道为什么我们在DllImport中写它们)

0 个答案:

没有答案