これは、CDSDK.dll を参照しているときに発生するエラーです。
A call to PInvoke function 'Canon_Camera_Control!RDC.CameraSDK.cdAPI::CDStartSDK' has unbalanced the stack.
This is likely because the managed PInvoke signature does not match the unmanaged target signature.
Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.
エラーは CAMERA.cs というファイルにあります。これは、私のキヤノン カメラを PC で制御するプロジェクトの一部です。
この dll ファイルが見つからなかったので、2 つの場所から 2 回ダウンロードしました。最初は dll ファイルが 300kb で、エラーが発生しましたが、プログラムは停止しませんでした。ロガーを使用してエラーをログアウトしました。
5/2/2013--11:02 PM ==> Error! CDStartSDK C000060
5/2/2013--11:02 PM ==> Error! CDEnumDeviceReset C0000F1
5/2/2013--11:02 PM ==> Error! CDFinishSDK C0000F1
次に、298kb の 2 番目のファイルをダウンロードしたところ、このエラーが表示されました。
例外は、CAMERS.cs の行番号 929 にあります。
err = (UInt32)cdAPI.CDStartSDK(ref Version, 0);
これは、2 つのディレクトリを含む更新された SkyDrive 上の私のソリューション/プロジェクトへのリンクです。
CDSDK1 と CDSDK2 のそれぞれに cdsdk.dll ファイルがあり、1 つは 928kb 程度、もう 1 つは 300kb 程度です。
それぞれが異なるエラーを出します。
https://skydrive.live.com/redir?resid=EB1C71C44C3976D5!202&authkey=!AAe7QvxIzBMne1Q
ダウンロードするプロジェクト名: Canon_Camera_Control
これは、2 番目の CDSDK.dll ファイルの完全な例外メッセージです。
PInvokeStackImbalance が検出されました メッセージ: PInvoke 関数 'Canon_Camera_Control!RDC.CameraSDK.cdAPI::CDStartSDK' の呼び出しにより、スタックのバランスが崩れました。これは、マネージド PInvoke 署名がアンマネージド ターゲット シグネチャと一致しないことが原因である可能性があります。PInvoke シグネチャの呼び出し規約とパラメーターがターゲットのアンマネージド シグネチャと一致することを確認します。
私は今とても深くグーグルで検索しましたが、このエラーについての手がかりが見つかりませんでした.