プロセス外の ATL COM サーバー (exe) があります。クライアントによって開始されると、サーバーはいくつかのデータをポーリングするワーカー スレッドを生成します。データが更新されるたびに、すべてのクライアントに更新された値を通知したいと考えています。
CoCreateInstanceEx を介して接続し、Sink オブジェクトを作成し、接続ポイントを取得して Advise を呼び出す COM クライアントを作成しましたが、すべてエラーは発生しませんでした。ただし、サーバーが Fire_event を試行すると、IConnectionPointImpl::m_vec が空になり、クライアントに通知されません。
これは、サーバーが独自のオブジェクトを作成するためだと思われます。そのため、Advise を呼び出すと、IConnectionPointImpl::m_vec の 2 つのインスタンスが作成されます。1 つはサーバーから、もう 1 つはクライアントからです。サーバーのデータをクライアントに渡すにはどうすればよいですか?