我正在開發小型攝影應用程序,該應用程序應該可以與EOS相機一起使用Canon EDSDK api。一切運行良好與老dll的(從2014年)和舊相機,佳能1100D和1200D。最近我購買了模型1300D的succesor。當然,老dll(2014)從2016年開始並未認可新款相機,而且我無法連接到相機。edsdk c#pinvoke函數EdsCreateMemoryStream已經不平衡
所以我取代舊的DLL: EDSDK.dll 和 EdsImage.dll
用新的,從去年佳能EOS Utility的ver.3的,與佳能1300D拍攝的作品。
現在,我的相機被識別出來,在我的主面板上,我可以看到相機Canon EOS 1300D的名稱。
但更換dll的,當我嘗試啓動從相機取景後,我得到這個奇怪的錯誤消息:
到PInvoke的功能 「!testApp EDSDKLib.EDSDK :: EdsCreateMemoryStream」呼叫具有不平衡 堆棧。這很可能是因爲託管PInvoke簽名不與 匹配非託管目標籤名。檢查的PInvoke簽名的調用約定 和參數匹配目標 非託管簽名
我將是任何幫助,非常感謝。我已經失去了很多時間。我再也沒有任何想法,我不知道我應該在哪裏尋找答案。
謝謝大家提前。
您是否閱讀過該消息並執行其中的建議?我們無法提供幫助,因爲只有你有代碼。只有你有DLL。沒有DLL的源代碼就很難。你有問過供應商的幫助。 –