使用C#在结构中调用c ++函数

时间:2012-01-18 09:19:07

标签: c# dllimport interopservices

我有一个c ++ dll。我必须在c#代码中使用这个DLL。在这个DLL中:

struct UserRecord
{
  int               login;
  //some properties here
}
struct CServerInterface
{
  int         __stdcall ClientsAddUser(UserRecord *inf);
  //some other functions here
}

如何在结构中调用函数?我试试这个:

[DllImport("WebRegistration.dll")]
public extern static int ClientsAddUser(ref UserRecord inf);

public struct UserRecord
{
//properties here
}

static void Main(string[] args)
{
  UserRecord user = new UserRecord();
  ClientsAddUser(ref user);
}

抛出异常:“无法在DLL中找到名为'ClientsAddUser'的入口点。”

我想如果这个函数不在结构中,我就不会抛出异常。

1 个答案:

答案 0 :(得分:0)

我是新手,但试试这个; 制作CServerInterface和UserRecord,“公共类”。一个例子;

public class CServerInterface() {int __stdcall ClientsAddUser(UserRecord *inf);}