COM難しいよー(T T)

C#で作ったCOMコンポーネントC++から呼び出す。なんていう時代の流れにアンマッチな事してるんだけど、うまく行かなくてもうかれこれ4日目 orz

C#で作った処理をCOMに公開して、それをC++で呼んで実行まではできたんだけど、COM側での処理の進捗とかを知るためにC++側の関数をコールバックしてもらうための仕組み「イベントシンク」でつまづいてる。

C#側で実装したコンポーネント(こいつがソースオブジェクトを持ってる)のIConnectionPointContainerインターフェースまでは取れるのに、IConnectionPoint(接続ポイント)が取れない!

リターンコードは0x80040200(E_EVENT_FIRST)で、色々調べてみると、ライブラリがレジストリに登録されていないんじゃないかって結論になった。

でも、成功したテスト用とやってる事は同じなのになぜ??

Dr. GUI と COM イベント:第 1 部から引用させてもらいました。