对 PInvoke 函数的调用导致堆栈不对称问题
生活随笔
收集整理的這篇文章主要介紹了
对 PInvoke 函数的调用导致堆栈不对称问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C#調用C語言封裝的dll時發生中斷:
問題描述:
?????? 在使用托管代碼調用非托管代碼時,發生“對?
PInvoke?
函數“UseTwiHikVisionDllTest!UseTwiHikVisionDllTest.TwiHikVision::GetFirstPic”的調用導致堆棧不對稱。原因可能是托管的?
PInvoke 簽名與非托管的目標簽名不匹配。請檢查 PInvoke 簽名的調用約定和參數與非托管的目標簽名是否匹配。”
解決方法:
添加屬性:?CallingConvention=CallingConvention.Cdecl
如:??
???
? [DllImport("TwiHikVision.dll", EntryPoint="GetFirstPic",?CallingConvention=CallingConvention.Cdecl)]??
?????? public static extern string GetFirstPic(string videoFileName, string exportFilePath);
總結
以上是生活随笔為你收集整理的对 PInvoke 函数的调用导致堆栈不对称问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机组装与维修bios设置,(完整版)
- 下一篇: python在运维自动化的前景_现在学运