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