MFC を使用して、サード パーティの COM コンポーネント用のコネクション ポイント シンクを実装しようとしています。以前にいくつかの COM コンポーネントを開発したことがありますが、コネクション ポイント シンクについてはあまり詳しくありません。
https://support.microsoft.com/en-us/kb/183599
それは私がやろうとしていることと最も似ているように見えました。説明どおりに例を再現しようとしました。私の MS Word のバージョンは 2010 ですが、参照されているインターフェイスはまだ有効であるように見えます。私は忠実に指示に従い、文字通りコードを自分のプロジェクトにカット アンド ペーストし、幅広の文字列を調整するだけで済みました。コンパイル後、単語アプリを起動して終了することはできますが、接続ポイント イベントを受信しません。おそらく問題は関数 dispid にあると考えたので、DISP_FUNCTION_ID エントリを Dispatch Map に追加しようとしました。しかし、これは oledisp1.ccp の 549 行目のアサーションにつながり、CCmdTarget::GetStackSize 関数にあることがわかります。
これはばかげていると確信していますが、うまく動作させることができません。誰かが例に欠けているものを理解するのを手伝ってもらえますか? ありがとう。