私は、EOSカメラでCanon EDSDK apiで動作するはずの小さな写真アプリを開発しています。古いdll(2014年以降)と古いカメラ、Canon 1100Dと1200Dですべてうまく動作しました。最近私はsuccesor、モデル1300Dを購入しました。もちろん、古いDLL(2014年)は2016年から新しいカメラモデルを認識せず、カメラに接続できませんでした。edsdk c#pinvoke function EdsCreateMemoryStreamがスタックのアンバランスを起こしました
だから私は古いdllファイルの置き換え:キヤノン1300Dと連携し、最後のキヤノンEOSユーティリティVer.3の、から取られた新しいもの、と EDSDK.dll と EdsImage.dll
を。
私のカメラが認識され、私のメインパネルに接続されたカメラの名前が表示されます。Canon EOS 1300D。
しかし、DLL年代を交換した後、私はカメラからのライブビューを起動しようとすると、私はこの奇妙なエラーメッセージが出ます:
のPInvoke関数の呼び出し 「!でTestApp EDSDKLib.EDSDKを:: EdsCreateMemoryStreamは」アンバランスがあります スタック。これは、管理対象のPInvokeシグニチャがアンマネージドターゲットシグニチャと一致しないためです( )。 PInvokeの署名の呼び出し 大会やパラメータが、私は任意の助けのために非常に感謝されるターゲット 管理されていない署名
と一致していることを確認してください。私はこれですでに多くの時間を失いました。私はもうアイデアを持っていないし、どこで答えを探すのか分からない。
ありがとうございました。
あなたはメッセージを読んだことがありますか?あなただけがコードを持っているので、私たちは助けることはできません。そして、あなただけがDLLを持っています。そして、DLLのソースがなければ難しいでしょう。ベンダーに助けを求めましたか? –