Ошибка при выполнении кода - C#
Формулировка задачи:
"Вызов функции PInvoke "TestApp!TestApp.IM+INIManager::GetIString" разбалансировал стек. Вероятно, это вызвано тем, что управляемая сигнатура PInvoke не совпадает с неуправляемой целевой сигнатурой. Убедитесь, что соглашение о вызовах и параметры сигнатуры PInvoke совпадают с неуправляемой целевой сигнатурой."
Возникает при попытке прочитать ini. Где тут ошибка?
MessageBox.Show(dev.GetIString("Profiles", "usb1"));class IM
{
public class INIManager
{
[DllImport("kernel32.dll", EntryPoint = "GetPrivateProfileString")]
private static extern int GetIString(string section, string key, string def, StringBuilder val, string path);
[DllImport("kernel32.dll", EntryPoint = "WritePrivateProfileString")]
private static extern int WriteIString(string section, string key, string str, string path);
string ini = Environment.CurrentDirectory+"\\devices.ini";
public string GetIString(string usb, string option)
{
StringBuilder val = new StringBuilder();
GetIString(usb, option, null, val, ini);
return val.ToString();
}
public void WriteIString(string usb, string option, string val)
{
WriteIString(usb, option, val, ini);
}
}
}Решение задачи: «Ошибка при выполнении кода»
textual
Листинг программы
StringBuilder val = new StringBuilder(100);