Visual C++ 6.0 を使用して、ATL ベースの .EXE サーバーを作成しました。(レガシーコードを扱っているためVC6、プロセス外のコンテキストで操作をテストする必要があるため.exeサーバー、現在.exeサーバーは基本的に操作なしです)
対応するプロキシ スタブ DLL をビルドして登録しました。
私はクライアントアプリを持っています
- サーバー オブジェクトで FinalConstruct を呼び出して成功する IUnknown の CoCreateInstance (したがって、サーバーは正しく呼び出されます)
- 返された IUnknown インターフェイスの OleRun が成功する
- サーバー オブジェクトの IUnknown ポインターの QueryInterface が IMarshall インターフェイスのエラー コード 0x8000402 (そのようなインターフェイスはサポートされていません) で失敗する
これらの手順は (comip.h::CreateInstance) からコピーされました。
問題は、proxystub dll が呼び出されていないことにあるようです (IDE のモジュール リストにも、デバッグ ウィンドウのロード済みモジュール リストにも表示されません)。
8891..ca4d は、オブジェクトのクラス インターフェイス ID です。
A298...420c はサーバー オブジェクトのインターフェイス ID です (IDispatch ベース)
あらゆる支援のためのTIA