私はC++でCOM dllを開発しました。今私はCOM dllによって公開されたインターフェイスのいくつかを使用するMFCクライアントを持っています。このアプリケーションからCoCreateInstanceを呼び出すと、次のエラーで失敗します。80020008 DISP_E_BADVARTYPE。私はidlファイルに新しいインタフェースと新しいメソッドを追加しました。私は構造体(UUID付き)をidlファイルに定義した構造体を渡したいと思います。今私は私の方法でSAFEARRAYとして渡しています。私はこのエラーを理解するのを手伝ってください。Cocreateinstanceエラー
0
A
答えて
0
DISP_E_BADVARTYPEは、COM interopマーシャリングエラーです。 (あなたのクライアントはCLRサポートでコンパイルされていますか?)つまり、サポートされていないタイプのマーシャリングはできません。つまり、CLRに準拠していないタイプでも、オートメーションと互換性がないタイプでもありません。
この問題の一つの原因(64ビット整数は、オートメーション互換性がありません。)、このようなCOMデュアルインターフェイスにCLR長整数を渡すなどの不一致整数型、ある
別の原因は、あなたの構造タイプであるかもしれません。ユーザー定義型のSafeArraysはオートメーションと互換性があります(VT_ARRAY | VT_RECORD)ので、やりたいことができると思います。しかし、あなたのUDTには互換性のないものがあるかもしれません。 VT_SAFEARRAYやVT_USERDEFINEDのように間違って指定したことがあります。
IDLを投稿できますか?
関連する問題
- 1. EmptyThrowable:Win7TaskBar CoCreateInstance(IID_ITaskbarList3)
- 2. Firefox 4のエラーコンソールの意味 "CoCreateInstance()FAILED"
- 3. CoCreateInstanceは動作しません
- 4. ITaskBarList3の0x80040154でCoCreateInstanceが失敗する
- 5. AddRef()を持たないEnvDTEのCoCreateInstance?
- 6. CoCreateInstance CLSID_IConverterSessionはOfficeで失敗する2016
- 7. CoCreateInstanceメソッドで問題が発生しました
- 8. インターフェイスが見つかってもE_NOINTERFACEを返すCoCreateInstance
- 9. CoCreateInstanceはCLSID_WavDest用の空のIBaseFilterを作成します
- 10. コードをIISに移動したときにCoCreateInstance( "CLSID")がハングアップする
- 11. CoCreateInstanceから「クラスが登録されていません」が返されます
- 12. DirectShowフィルタをプライベートCoCreateInstance経由で登録せずに使用する
- 13. のQtのActiveXのCoCreateInstance障害(クラスが登録されていない)のAdobe Reader
- 14. 同じマシン上にオブジェクトを作成するとき、CoCreateInstance()とCoGetClassObject()の違いは何ですか?
- 15. SESA C#.NET COM DLLのCoCreateInstanceを呼び出そうとすると、HRESULT 0x80070002(FILE_NOT_FOUND)が返される
- 16. pytesseractエラーWindowsエラー[エラー2]
- 17. エラーC2360:エラーC2361:エラーC2039:
- 18. エラー:[$ http:baddata]エラー
- 19. エラー#3115:SQLエラー
- 20. C++エラー:「エラー時に私は、エラーを
- 21. ffiモジュールのエラーnode.jsエラー:ダイナミックリンクエラー:Win32エラー193
- 22. Swigエラー - エラー:入力(2)の構文エラー
- 23. C++の問題:エラーC2143、エラーC2059、エラーC2238
- 24. エラー:エラー#2134:SharedObjectの
- 25. Valgrindのエラー:エラー22
- 26. エラーC2664:引数エラー
- 27. Googleエラー403 forbiddenエラー
- 28. エラーC2059:構文エラー: '。'
- 29. セグメント化エラーopenmpエラー
- 30. エラーITMS:90524 UIDeviceFamilyエラー
CoCreateInstance()はそのエラーコードを返すことができません。あなたの質問はそれを説明しようとするのではなく、ポストコードを意味をなさない。 –