Cannot call DLL import entry, C# -> C++, EntryPointNotFoundException

后端 未结 2 668
清歌不尽
清歌不尽 2021-01-29 05:30

I\'m trying to call from C# a function in a custom DLL written in C++. However I\'m getting the warning during code analysis and the error at runtime:

War

2条回答
  •  醉梦人生
    2021-01-29 05:48

    Well, you know the entry point name, use the EntryPoint = "?SetHook@@YA_NXZ" property in the [DllImport] attribute. Or put extern "C" before the declaration in your C++ code so the name doesn't get mangled.

    [DllImport("wi.dll", EntryPoint = "?SetHook@@YA_NXZ", CallingConvention = CallingConvention.Cdecl)]
    [return: MarshalAsAttribute(UnmanagedType.I1)]
    internal static extern bool SetHook();
    

提交回复
热议问题