OLE は、ユーザーが複数のアプリケーションによって作成されたアイテムまたは "オブジェクト" を含むドキュメントを作成および編集できるようにするメカニズムです。
注
OLE は、もともとオブジェクト リンクと埋め込みの頭字語でした。 ただし、OLE と呼ばれるようになりました。 OLE のリンクと埋め込みには関係のない部分が、Active テクノロジの一部になりました。
OLE ドキュメントは、従来は複合ドキュメントと呼ばれ、さまざまな種類のデータやコンポーネントをシームレスに統合します。 サウンド クリップ、スプレッドシート、ビットマップは、OLE ドキュメントに含まれるコンポーネントの一般的な例です。 アプリケーションで OLE をサポートすると、ユーザーは異なるアプリケーション間の切り替えを気にせずに OLE ドキュメントを使用できます。OLE は切り替えを行います。
コンテナー アプリケーションを使用して複合ドキュメントを作成し、サーバー アプリケーションまたはコンポーネント アプリケーションを使用してコンテナー ドキュメント内に項目を作成します。 作成するアプリケーションには、コンテナー、サーバー、またはその両方を指定できます。
OLE にはさまざまな概念が組み込まれており、すべてがアプリケーション間のシームレスな相互作用の目標に向けて機能します。 これらの領域には、次のものが含まれます。
リンクと埋め込み
リンクと埋め込みは、別のアプリケーションで作成された OLE ドキュメント内に作成されたアイテムを格納するための 2 つの方法です。 2 つの違いの一般的な情報については、「 OLE の背景: リンクと埋め込み」を参照してください。 詳細については、「 コンテナー とサーバー」の記事を参照 してください。
In-Place アクティブ化 (ビジュアル編集)
コンテナー ドキュメントのコンテキストで埋め込みアイテムをアクティブ化することは、インプレース アクティブ化またはビジュアル編集と呼ばれます。 コンテナー アプリケーションのインターフェイスが変更され、埋め込み項目を作成したコンポーネント アプリケーションの機能が組み込まれます。 リンクされたアイテムの実際のデータは、リンクを含むアプリケーションのコンテキストとは別のファイルに含まれているため、リンクされたアイテムは一切アクティブになりません。 インプレース ライセンス認証の詳細については、ライセンス 認証に関する記事を参照してください。
注
リンクと埋め込みとインプレース アクティブ化により、OLE ビジュアル編集の主な機能が提供されます。
Automation Automation を使用すると、あるアプリケーションで別のアプリケーションを駆動できます。 駆動アプリケーションはオートメーション クライアントと呼ばれ、駆動されるアプリケーションはオートメーション サーバーまたはオートメーション コンポーネントと呼ばれます。 自動化の詳細については、 Automation クライアント と Automation サーバーに関する記事を参照してください。
注
オートメーションは、OLE と Active の両方のテクノロジ コンテキストで機能します。 COM に基づいて任意のオブジェクトを自動化できます。
複合ファイル
複合ファイルは、OLE アプリケーション用の複合ドキュメントの構造化保存を簡略化する標準のファイル形式を提供します。 複合ファイル内では、ストレージにはディレクトリの多くの機能があり、ストリームにはファイルの多くの機能があります。 このテクノロジは、構造化ストレージとも呼ばれます。 複合ファイルの詳細については、「 コンテナー: 複合ファイル」を参照してください。
Uniform Data Transfer
Uniform Data Transfer (UDT) は、データを転送するために選択された実際の方法に関係なく、標準的な方法でデータを送受信できるインターフェイスのセットです。 UDT は、ドラッグ アンド ドロップによるデータ転送の基礎を形成します。 UDT は、クリップボードや動的データ交換 (DDE) などの既存の Windows データ転送の基礎として機能するようになりました。 UDT の詳細については、「 データ オブジェクトとデータ ソース (OLE)」を参照してください。
ドラッグ アンド ドロップ
ドラッグ アンド ドロップは、アプリケーション間、アプリケーション内のウィンドウ間、またはアプリケーション内の 1 つのウィンドウ内でデータを転送する、使いやすい直接操作手法です。 転送するデータが選択され、目的の宛先にドラッグされます。 ドラッグ アンド ドロップは、均一なデータ転送に基づいています。 ドラッグ アンド ドロップの詳細については、 ドラッグ アンド ドロップに関する記事を参照してください。
コンポーネント オブジェクト モデル
コンポーネント オブジェクト モデル (COM) は、OLE オブジェクトが相互に通信するときに使用されるインフラストラクチャを提供します。 MFC OLE クラスを使用すると、プログラマの COM が簡略化されます。 COM オブジェクトは OLE テクノロジと Active テクノロジの両方の基になっているため、COM は Active テクノロジの一部です。 COM の詳細については、 Active Template Library (ATL) のトピックを参照してください。
より重要な OLE トピックの一部については、次の記事で説明します。
一覧に記載されている記事に記載されていない一般的な OLE 情報については、 OLE を検索してください 。