从非托管DLL入口点返回长指针值

时间:2014-08-07 09:47:47

标签: c# c++ pointers dll unmanaged

我的非托管DLL中有一个入口点,这是其C代码中的代码

void *__cdecl entryp(int a1, int a2, __int64 a3, signed int a4, int a5)
{
  void *v6; 
  /..../
  /..../

  return v6;
}

我在我的C#项目中使用dllimport

[DllImport("unmanaged.dll", EntryPoint = "entryp",CallingConvention = CallingConvention.Cdecl)]
public static extern unsafe long* entryp(byte[] bData, uint length, ushort width, ushort heigth, uint nMaxCode, short anaLevel);

但问题是方法只是不返回任何东西 我的代码出了什么问题?感谢您阅读我的问题

1 个答案:

答案 0 :(得分:0)

必须导出DLL中的代码,因此我希望声明为:

void* __declspec(dllexport) entryp(int a1, int a2, __int64 a3, signed int a4, int a5)
{
  //...
}