При работе выползает следующий егог:
"Additional Information: Attempting managed execution inside OS Loader lock. Do not attempt to run managed code inside a DllMain or image initialization function since doing so can cause the application to hang."
Вот я непойму где я накосячил..
Скорее всего где-то в возвращаемом значении. Ведь длл-ка возвращает поинтер на массив символов, C# не понимает поинтеры с разбегу.
Как обработать возвращаемое значение? Что делать с этим поинтером?
Посоветуйте что вкурить по данному вопросу?
[DllImport("KeyDLL.dll",EntryPoint="key_generateRandom",PreserveSig=true)] //Во первых PreserveSig ставим в true
[return:MarshalAs(UnmanagedType.LPStr)] // Говорим маршалингу что возвращаемое значение есть поинтер на массив char
public static extern string key_genRND(ulong DEVICE_ID); // и тогда смело выгребыем возврат в string