In-Process サーバー

OLE サーバー アプリケーションをインプロセス サーバー (ローカル サーバーとしてではなく、コンテナー アプリケーションのプロセス空間で実行される DLL) として実装する場合、コンテナーとサーバー間の通信は通常の関数呼び出しの形式になるため、コンテナーとサーバー間の通信が簡略化されます。 2 つのアプリケーションは同じプロセス空間で実行されるため、リモート プロシージャ コールは必要ありません。 ご期待のとおり、パラメーターのマーシャリングを管理するオブジェクトも不要ですが、コンテナーとサーバー間の通信を妨げることなく DLL 内で集計される場合があります。

OLE サーバー アプリケーションをインプロセス サーバーとして実装する場合、サーバー自体がクライアントのプロセス空間に存在するため、別のオブジェクト ハンドラーは必要ありません。 インプロセス サーバーとオブジェクト ハンドラーの主な違いは、サーバーが実行中の状態でオブジェクトを管理できるのに、ハンドラーが管理できないことです。 この違いの 1 つの結果は、実行中のオブジェクトを操作するためのユーザー インターフェイスをサーバーが提供する必要があるのに対し、ハンドラーはこの要件をオブジェクトのサーバーに委任することです。 インプロセス サーバーを作成する場合は、OLE の既定のハンドラーを集計して、表示、ストレージ、通知などの基本的な作業を処理しながら、ハンドラーが必要な方法で提供または実装していないサービスのみを実装できます。

詳細については、次のトピックを参照してください。

複合ドキュメント