1

我有一个 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' 的入口点”。

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

4

1 回答 1

0

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

public class CServerInterface() {int __stdcall ClientsAddUser(UserRecord *inf);}
于 2012-01-18T09:24:12.890 回答