Необработанное исключение типа "System.ExecutionEngineException" произошло в XXX.exe

У меня есть файл DLL, который написан на C++. Я пытаюсь использовать в C++ DLL в моем коде C#. Метод C++ вызывается правильно, но выдает ошибку после завершения процесса.

Детали исключения:

complete.System.ExecutionEngineException не обработано. Сообщение = исключение типа 'System.ExecutionEngineException'.

1 ответ

Решение

У меня та же проблема с этим кодом:

    [DllImport("camapi.dll", CharSet = CharSet.Unicode)]
private static extern CSTATUS_T CWRAPPER_GetFriendlyName(IntPtr pCameraBus, string sCamID, out StringBuilder sFriendlyName, 
                                                         uint uBufferSizeInWords);

public static string CWRAPPER_GetFriendlyName(IntPtr pCameraBus, string sCamID)
{
    var sFriendlyName = new StringBuilder(256);
    var status = CWRAPPER_GetFriendlyName(pCameraBus, sCamID, out sFriendlyName, (uint)s.Capacity + 1);
    return (status == CSTATUS_T.CSTATUS_SUCCESS) ? sFriendlyName.ToString() : "";
}

Проблема заключалась в ключевом слове "out". В примере на MSDN нет "out".

Надеюсь, что это помогает кому-то... Саймон

Другие вопросы по тегам