api на c# - MtOpenDemoAccount?

 
всё время получаю код ошибки 2 - RET_ERROR т.е. просто неопознанные ошибки

[StructLayout(LayoutKind.Sequential)]
public struct DemoAccountInfo
{
public int login;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=16)]
public string password;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=16)]
public string phonepassword;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=64)]
public string name;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=16)]
public string group;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string country;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string city;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string state;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=16)]
public string zipcode;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string address;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string phone;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string email;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=72)]
public string unused;
public int leverage;
public double balance;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=20)]
public string reserved;
}

public class MtNewDemo
{
[DllImport("c:/api/Client/mtapi.dll")]
public static extern int MtOpenDemoAccount( int handle, ref DemoAccountInfo info );
}

DemoAccountInfo info = new DemoAccountInfo();

info.address = "some address";
info.city = "Moscow";
info.country = "Russia";
info.email = "john@smith.com";
info.name = "John Smith";
info.phone = "123456789";
info.state = "none";
info.zipcode = "603123";
info.leverage = 100;
info.balance = 5000;

//вызов функции
MtNewDemo.MtOpenDemoAccount( handle, ref info );

Что не так?
 
Что не так?

Сравните последовательность вызовов функций с примерами, что поставляются с API.
Наверняка забыли что-то инициализовать.
 
вопрос отпадает, забыл заполнить поле - info.group, но странно что получал 2 ошибку а не 3 т.е. прочие ошибки а не invalid data