C# sharp ошибка PInvoke

Если при отладке Вашего приложения на C# , Вы столкнулись с ошибкой:
Вызов функции PInvoke "здесь_упоминается_импортируемая_DLL" разбалансировал стек. Вероятно, это вызвано тем, что управляемая сигнатура PInvoke не совпадает с неуправляемой целевой сигнатурой. Убедитесь, что соглашение о вызовах и параметры сигнатуры PInvoke совпадают с неуправляемой целевой сигнатурой.

Скорее всего это связанно с DLLImport (в примере импортируется lame_enc.dll):
[DllImport("Lame_enc.dll")]

следует заменить на:

[DllImport("Lame_enc.dll", CallingConvention=CallingConvention.Cdecl)]

то есть добавить:
CallingConvention=CallingConvention.Cdecl

На сайте msdn майкрософт об том написано здесь.

Опубликовано 11.04.2013 в 22:37 · Автор Вебдизайнеру, сисадмину, вебмастеру · Ссылка
Рубрики: C Sharp · Теги: , , , ,