次の方法で共有


OLE の背景知識 : MFC における実装

生の OLE API のサイズと複雑であるために、 OLE アプリケーションを作成する場合に直接呼び出すことは非常に時間がかかります。OLE の Microsoft Foundation Class)ライブラリの実装の目的は、 OLE 可能なアプリケーションを作成するための完全な機能を備えたする必要がある作業量を減らすことです。

この技術情報では、実行中の MFC ではなく OLE API の一部を示しています。ついては、実行されたマッピングは Windows SDKの OLE セクションに必要な操作方法について説明します。

クラス ライブラリによって実装されていない OLE の部分

OLE の数のインターフェイスと機能は、 MFC によって直接提供されません。これらの機能を使用する場合は、 OLE API を直接ダイヤルできます。

  • IMoniker インターフェイス
    IMoniker インターフェイスは、クラス ライブラリで (たとえば、 COleServerItem クラス)は実行されますが、プログラマに前に公開されていませんいません。このインターフェイスの詳細については、 Windows SDKの OLE セクションの OLE モニカーの実装を参照してください。ただし、クラス CMonikerFileCAsyncMonikerFileを参照してください。

  • IUnknown インターフェイスと IMarshal
    IUnknown インターフェイスは、クラス ライブラリで実行されますが、プログラマは公開されません。IMarshal インターフェイスはクラス ライブラリによって実装されませんが、内部的に使用されます。クラス ライブラリを使用してビルドされたオートメーション サーバーは既にマーシャリングの機能をビルドします。

  • Docfiles (複合ファイル)
    複合ファイルは、クラス ライブラリで部分的にサポートされます。直接作成を超える複合ファイルを操作する関数のいずれもサポートされません。MFC の使用は標準ファイルの関数のストリームの操作をサポートするに COleFileStream を分類します。詳細については、技術情報 コンテナー: 複合ファイルを参照してください。

  • インプロセス サーバーとオブジェクト ハンドラー
    インプロセス サーバーとオブジェクト ハンドラーは、ダイナミック リンク ライブラリ (DLL) のビジュアル編集のデータまたはコンポーネント オブジェクト モデル ((COM) の完全なオブジェクトの実装ができます。これを行うには、 OLE API を直接呼び出すことで、 DLL を実行できます。ただし、オートメーション サーバーの作成、サーバーにユーザー インターフェイスがない場合、サーバーをインプロセス サーバーにして、 DLL に完全に書き込むには、 AppWizard を使用できます。これらのトピックに関する詳細については、 オートメーション サーバーを参照してください。

    ヒントヒント

    オートメーション サーバーを実装する最も簡単な方法は、 DLL に配置することです。MFC はこの手法をサポートします。

詳細については、 Microsoft OLE の基本クラスが OLE インターフェイスを実装するか、 MFC テクニカル ノート 383940を参照してください。

参照

概念

OLE の背景知識

OLE の背景知識 : 実装の方法