OLE 概念および要件の概要 この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。
目次概要 OLE は、テクノロジをアプリケーションを多数のさまざまなソースから情報を含む複合ドキュメントを作成できるようになります。 たとえば、OLE 対応、ワード プロセッサで文書を埋め込みスプレッドシート オブジェクトできます受け入れます。 埋め込みドキュメント従来のメソッド"切り取りし、貼り付け"メソッド、受信側アプリケーションが、貼り付けた情報のフォーマットを変更とは異なり、元のプロパティすべて保持します。 ユーザー、埋め込まれたデータを編集する場合、Windows、元のアプリケーションをアクティブにし、埋め込みドキュメントを読み込みます。 この資料では、OLE ライブラリの概要について説明は、OLE アプリケーションごとの必須要素および OLE アプリケーションで Windows クリップボードの使用について説明します、VTBL (仮想メソッド テーブル) データ構造体を説明します。 詳細OLECLI.DLL--: OLE クライアント ライブラリOLECLI.DLL、Microsoft Windows 環境では、OLE クライアント ライブラリを OLE クライアント アプリケーションを簡略化するサービスを提供します。 双方向通信は、クライアント アプリケーションと OLE クライアント ライブラリの間に配置します。 クライアント アプリケーション、OLE オブジェクトの作成、表示、読み込み、および保存などのタスクを実行するクライアント ライブラリで関数を呼び出します。 クライアント ライブラリ、アプリケーション定義のコールバック関数を呼び出すことによってステータス情報をアプリケーションに送信します。 ライブラリ、クライアントのコールバック関数に渡します状態データにはオブジェクトがされて変更、名前変更、保存すると、または OLE サーバー アプリケーションの終了通知が含まれます。OLESVR.DLL--: OLE Server ライブラリOLESVR.DLL で、OLE サーバー ライブラリは、OLE サーバー アプリケーション サービスを提供します。 双方向通信は、サーバー アプリケーションと、OLE サーバー ライブラリの間に配置します。 サーバー アプリケーションとして、自身を登録または可用性が失効サーバー ライブラリで関数を呼び出します。 また呼び出しますサーバー ライブラリ関数を示す保存または文書を名前を変更するとき。 サーバー ライブラリ 27 アプリケーション定義のコールバック関数のセットを通じて、サーバー アプリケーションに情報を伝達します。 一般メソッドと呼ばれる、サーバー アプリケーションのコールバック関数、または特定のイベントが発生したことが通知する、サーバー、特定のアクションを実行する要求は呼び出されます。オブジェクト ハンドラOLE アプリケーションの 2 つの種類にのみ、エンドユーザーが関係通常: クライアント アプリケーションおよびサーバー アプリケーションです。 ただし、アプリケーション開発者は必要がありますも注意、オブジェクト ハンドラと呼ばれる OLE モジュールの 3 番目の種類を表す。 オブジェクトのハンドラは、ダイナミック リンク ライブラリ (DLL) 限定機能サーバー アプリケーションとして conceptualized がすることができます。 オブジェクト ハンドラには、サポート、サーバー アプリケーションのオブジェクト クラスに必要な機能が含まれています。 たとえば、クライアント アプリケーションが、オブジェクトの動詞を呼び出すと、この呼び出しをメモリに読み込み、主要なサーバー アプリケーションから任意の支援なしメモリからアンロード、呼び出しプロセス オブジェクト ハンドラで処理できます。 オブジェクトのハンドラは、ハンドラは通常、小さいと読み込まれたできアンロードする (多くの場合、大きな) フル機能サーバー アプリケーションをより効率的ため、オブジェクトを管理、効率的な方法を提供します。 オブジェクトのハンドラは、完全に動作サーバー アプリケーションと同じように、OLE サーバー ライブラリを使用して実装されます。VTBLs を使用します。前述のとおり、通信と、クライアント アプリケーションに OLE クライアント ライブラリに、サーバー アプリケーションに、OLE サーバー ライブラリからアプリケーション定義のコールバック関数を使用して行われます。 クライアントまたはサーバー アプリケーションの初期化、中に、適切なライブラリ VTBL データ構造体へのポインタで呼び出します。 ライブラリ、VTBL でポインタを使用して、アプリケーションのコールバック関数を呼び出します。たとえば、サーバー アプリケーションが OLE サーバー ライブラリへの提供する、VTBLs のいずれかは呼び出されますが OLESERVERVTBL。 サーバー アプリケーションを作成 CreateFromTemplate [編集]、[終了]、[開く]、Release メソッドを実装する 6 つのコールバック関数へのポインタで、OLESERVERVTBL 構造体に設定します。 サーバー アプリケーションをサーバー ライブラリに、初期化 VTBL が合格すると後、ライブラリだけを VTBL でポインタを逆参照呼び出す、6 つの方法のいずれかことができます。 VTBL を使用できる、OLE ライブラリ関数の名前のメソッドを実装する、アプリケーション定義の関数を呼び出すことに注意してください。 C++ 言語精通プログラマ、VTBL 概念を C++ 仮想メソッドの概念に似ていますかもしれません。 実際には、VTBLs と仮想メソッドは、密接に関連しています。 VTBL では、OLE ライブラリをそれぞれのオブジェクト クラスごとに異なるを定義するメソッドの実装では、許可するときに、クライアントまたはサーバー アプリケーションを実装する必要があるメソッドを指定できます。 inter-library 通信バージョン 3.1 の Microsoft Windows Software Development Kit (SDK))、付属の OLE ライブラリの初期実装では、ライブラリ、ダイナミック データ エクスチェンジ (DDE) メッセージング プロトコルを使用して互いに通信します。 クライアントとサーバー ライブラリ WM_DDE_EXECUTE メッセージを使用して OLE コマンドの標準セットを互いに送信します。 OLE ライブラリのこの実装は、Dynamic Data Exchange Management Library (DDEML)、DDEML と、OLE ライブラリを並行開発されたため、Windows 3.1 用に開発されたは使用されません。 OLE ライブラリの将来のバージョン、DDEML または別のプロセス間通信メカニズムが使用します。ライブラリ自体によって、OLE ライブラリで使用される inter-library 通信プロトコルが非表示にされ、OLE クライアントまたはサーバー アプリケーションの設計に影響されませんする必要があります。 Shell ライブラリ多くの OLE アプリケーション、3 番目のライブラリを SHELL.DLL も使用します。 シェル ライブラリは、アプリケーションを読み取りし、変更、Windows 登録情報データベースをできるように API 関数が用意されています。 登録データベースには、システム、オブジェクト クラスおよび動詞にインストールされている、OLE サーバーに関する情報が含まれていますそれぞれがサポートしています。 シェル ライブラリ、Windows ファイル マネージャを使用してファイルのドラッグ アンド ドロップ操作サポートも提供します。 ファイルと、クライアント アプリケーションをファイル、ドキュメントに埋め込むで文書をで削除された、OLE クライアントはドラッグ アンド ドロップ サポートを実装、ありますファイル マネージャからドラッグします。OLE オブジェクト、クリップボードに配置します。オブジェクトの外観をオブジェクトを表示するために使用プレゼンテーション形式で指定されます。 サーバー アプリケーションに、オブジェクト、クリップボード上に配置するときに、オブジェクトの 1 つまたは複数のグラフィカル表現が提供します。 これらの表現、メタファイル (CF_METAFILEPICT) 形式、デバイスに依存ビットマップ (CF_BITMAP) 形式、または、デバイスに依存しないビットマップ (CF_DIB) 形式を含めることができます。 ユーザー オブジェクトをクライアント アプリケーションでコンテナ ドキュメントに貼り付けますときに、OLE ライブラリのいずれかのこれらのプレゼンテーション形式、オブジェクトの表示使用します。 メタファイル、ビットマップまたは外観をよく変更、サイズが変更されたときに、ため、オブジェクトの外観をオブジェクトを表示するために使用、プレゼンテーション形式によって異なります可能性があります。埋め込みオブジェクトは、OwnerLink 形式、ネイティブ形式と (CF_METAFILEPICT、CF_BITMAP、または CF_DIB) 上で説明した 3 つのプレゼンテーション形式のいずれかで、クリップボードに格納されます。 それぞれのプレゼンテーションと定義済みの Windows 形式は、SDK に含まれている WINDOWS.H ヘッダー ファイルで、名前付き定数で表されます。 ただし、OwnerLink、すべての OLE アプリケーションによって使用される、ネイティブ形式はで WINDOWS.H 定義されていません。 OLE アプリケーションごとの Windows で、OwnerLink およびネイティブ形式を登録する RegisterClipboardFormat 関数を呼び出す必要があります。
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。もし誤訳を発見された場合には、この KB 下部よりフィードバックをお寄せください。英語版 KB:86008 (http://support.microsoft.com/kb/86008/en-us/) "Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。" | サポート技術情報の翻訳
|



先頭へ戻る
