2010-11-30 8 views
0

とする。introduced a COM interface and don't want any third party to use itとする。 COMコンポーネントのソースとインターフェイス定義を保持するIDLファイルを完全に制御できます。私のCOMコンポーネントは、そのインターフェイスから物事をマーシャリングする必要がありますので、I'll need to either implement IMarshal or provide a typelib or provide a proxy/stubプロキシ/スタブでインターフェイスが公開されていますか?

明らかに私がタイプライブラリを提供していれば、誰でもそれを調べて自分のインタフェースが何であり、どのように使用できるかを知ることができます。それは私が望むものではありません。

プロキシ/スタブを使用するとどうなりますか?インターフェースを公開し、誰かにそれを調べさせるか、インターフェースの詳細を秘密に保つか?

答えて

1

残念ながら、これはできません。 COMのアイデアは、クライアントがコンポーネントとインターフェイスを発見できるということです。

以前の仕事では、私はデジタル著作権付きのアプリケーションで作業しましたが、意図的にCOMを使用して人々がアプリケーションにアクセスすることをより困難にしました。他のセキュリティ対策に加えて、独自のコンポーネントインフラストラクチャを構築する必要がありました。

+0

私はあなたに同意できません。マーシャリングがない場合は、早期バインディングのみを使用して内部動作を保護することは自明です。クライアントが実行時にインタフェースを知る必要はありません。私たちはそれを行い、それは機能します。 – sharptooth

関連する問題