Ошибка при выполнении кода - C#

Узнай цену своей работы

Формулировка задачи:

"Вызов функции PInvoke "TestApp!TestApp.IM+INIManager::GetIString" разбалансировал стек. Вероятно, это вызвано тем, что управляемая сигнатура PInvoke не совпадает с неуправляемой целевой сигнатурой. Убедитесь, что соглашение о вызовах и параметры сигнатуры PInvoke совпадают с неуправляемой целевой сигнатурой." Возникает при попытке прочитать ini. Где тут ошибка?
Листинг программы
  1. MessageBox.Show(dev.GetIString("Profiles", "usb1"));
Листинг программы
  1. class IM
  2. {
  3. public class INIManager
  4. {
  5. [DllImport("kernel32.dll", EntryPoint = "GetPrivateProfileString")]
  6. private static extern int GetIString(string section, string key, string def, StringBuilder val, string path);
  7. [DllImport("kernel32.dll", EntryPoint = "WritePrivateProfileString")]
  8. private static extern int WriteIString(string section, string key, string str, string path);
  9. string ini = Environment.CurrentDirectory+"\\devices.ini";
  10. public string GetIString(string usb, string option)
  11. {
  12. StringBuilder val = new StringBuilder();
  13. GetIString(usb, option, null, val, ini);
  14. return val.ToString();
  15. }
  16. public void WriteIString(string usb, string option, string val)
  17. {
  18. WriteIString(usb, option, val, ini);
  19. }
  20. }
  21. }

Решение задачи: «Ошибка при выполнении кода»

textual
Листинг программы
  1. StringBuilder val = new StringBuilder(100);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы