Привет все!
Такая проблема: импорчу в C# плюсовую библу
Необходимо вызвать две функции. Одна из них в качестве параметров принимает две структуры
typedef struct
{
CString login;
CString password;
} LoginAPIStruct;
typedef struct
{
int loginStatus;
CString sessionID;
} LoginResultAPIStruct;
Вот аналоги этих структур на NET стороне
[StructLayout(LayoutKind.Sequential)]
public class LoginStruct
{
private string login;
private string password;
public string Login
{
get {return login;}
set {login = value;}
}
public string Password
{
get { return password; }
set { password = value; }
}
}
[StructLayout(LayoutKind.Sequential)]
public class LoginResultStruct
{
private int loginStatus;
private string sessionID;
public int LoginStatus
{
get { return loginStatus; }
set { loginStatus = value; }
}
public string SessionID
{
get { return sessionID; }
set { sessionID = value; }
}
}
импорчу и пытаюсь вызвать
[DllImport("SHCWebProxy.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int PB_Login([In, MarshalAs(UnmanagedType.LPStruct)] ref LoginStruct loginStruct, LoginResultStruct loginResultStruct);