Ошибка при выполнении кода - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д