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