我得到這個代碼相同的問題:
[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() : "";
}
的問題是 「走出去」 的關鍵字。 MSDN上的示例沒有「out」。
希望幫助別人...... 西蒙
這將有助於如果你能向我們展示了'ExecutionEngineException'的'Message'和'StackTrace'領域。 http://msdn.microsoft.com/en-sg/library/system.executionengineexception.aspx – 2013-04-10 12:33:39
你有一個C++ DLL的調試版本嗎?如果是的話,你可以調試它。您還可以使用Microsoft Debugging Tools for Windows來創建應用程序轉儲。 – Siraf 2013-04-10 16:58:16
這通常意味着非託管DLL中存在內存損壞錯誤,並且正在破壞引擎。 – 2013-04-11 14:09:57