相关疑难解决方法(0)

错误调用函数,[调用PInvoke函数使堆栈不平衡]

我有以下代码,一旦我运行我的应用程序,我得到此错误

有谁知道我如何解决这个错误?

错误:

对PInvoke函数'testcamera!EDSDKLib.EDSDK :: EdsDownloadEvfImage'的调用使堆栈失衡.这很可能是因为托管PInvoke签名与非托管目标签名不匹配.检查PInvoke签名的调用约定和参数是否与目标非托管签名匹配

 IntPtr cameraDev;
            bool LVrunning = false;
            uint err = EDSDK.EDS_ERR_OK;
            uint device = 0;
            IntPtr MemStreamRef = new IntPtr(0);

            IntPtr EvfImageRef = new IntPtr(0);
            PictureBox pbLV;

            public LiveView(IntPtr c, PictureBox p)
            {
                cameraDev = c;
                pbLV = p;
            }

            internal void StartLiveView()
            {
                //LVrunning = true;
                //int i = 0;

                // Get the output device for the live view image
                err = EDSDK.EdsGetPropertyData(cameraDev, EDSDK.PropID_Evf_OutputDevice, 0, out device);
                Debug.WriteLineIf(err != EDSDK.EDS_ERR_OK, String.Format("Get Property Data failed: …
Run Code Online (Sandbox Code Playgroud)

.net c# pointers

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

.net ×1

c# ×1

pointers ×1