У меня есть DLL с набором функций. DLL использовалась с «themidia», чтобы сделать ее безопасной.не может вызывать функцию C++ из C#
Когда я пытаюсь вызвать функции, C# выплевывает ошибки из-за имен функций.
[DllImport("safety.dll", CallingConvention=CallingConvention.StdCall, ExactSpelling=true)]
private static extern IntPtr [email protected](string string_0, string string_1);
Если я удалю @ 8 и удалю ExactSpelling = true, он просто возвращает исключение, не указывая точку входа.
Что именно я делаю неправильно?
Я не знаком с «Themida», но вполне возможно, что процесс изменил способ экспорта ваших методов из DLL. Попробуйте открыть 'safety.dll' с помощью [Dependency Walker] (http://www.dependencywalker.com/) и искать настоящее имя метода. Это также может быть несоответствием с Calling Conventions. – AVIDeveloper
Возможный дубликат функций [themidia virtual C++ DLL нельзя вызывать из-за @ в имени] (http://stackoverflow.com/questions/9549735/themidia-virtual-c-dll-functions-can-not-be-called -dee-in-name) –