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

本文关键字:调用 c++ 函数 结构 | 更新日期: 2023-09-27 18:20:33

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

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

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

我是新手,但试试这个;将CServerInterface和UserRecord设为"公共类"。一个例子;

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