次の方法で共有


OLE の背景: コンテナーとサーバー

コンテナー アプリケーションは、埋め込みまたはリンクされた項目を独自のドキュメントに組み込むことができるアプリケーションです。 コンテナー アプリケーションによって管理されるドキュメントは、OLE ドキュメント コンポーネントと、アプリケーション自体によって作成されたデータを格納および表示できる必要があります。 コンテナー アプリケーションでは、必要に応じてサーバー アプリケーションをアクティブ化することで、ユーザーが新しい項目を挿入したり、既存の項目を編集したりできるようにする必要もあります。 コンテナー アプリケーションのユーザー インターフェイス要件については、「 コンテナー: User-Interface の問題」を参照してください。

サーバー アプリケーションまたはコンポーネント アプリケーションは、コンテナー アプリケーションで使用する OLE ドキュメント コンポーネントを作成できるアプリケーションです。 サーバー アプリケーションでは通常、データをクリップボードにドラッグ アンド ドロップまたはコピーして、コンテナー アプリケーションが埋め込みまたはリンクされた項目としてデータを挿入できるようにします。 アプリケーションには、コンテナーとサーバーの両方を指定できます。

ほとんどのサーバーはスタンドアロン アプリケーションまたは完全なサーバーです。これらは、スタンドアロン アプリケーションとして実行することも、コンテナー アプリケーションによって起動することもできます。 ミニサーバーは、コンテナーによってのみ起動できる特殊な種類のサーバー アプリケーションです。 スタンドアロン アプリケーションとして実行することはできません。 Microsoft Draw サーバーと Microsoft Graph サーバーは、ミニサーバーの例です。

コンテナーとサーバーは直接通信しません。 代わりに、OLE システム ダイナミック リンク ライブラリ (DLL) を介して通信します。 これらの DLL は、コンテナーとサーバーが呼び出す関数を提供し、コンテナーとサーバーは DLL が呼び出すコールバック関数を提供します。

この通信手段を使用すると、コンテナーはサーバー アプリケーションの実装の詳細を把握する必要はありません。 これにより、コンテナーは、使用できるサーバーの種類を定義しなくても、任意のサーバーによって作成された項目を受け入れます。 その結果、コンテナー アプリケーションのユーザーは、将来のアプリケーションとデータ形式を利用できます。 これらの新しいアプリケーションが OLE コンポーネントの場合、複合ドキュメントはそれらのアプリケーションによって作成された項目を組み込むことができます。

こちらも参照ください

OLE の背景
OLE の背景: MFC の実装
コンテナー
サーバー
コンテナ: クライアントアイテム
サーバー: サーバー項目