Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

Description

Translated from Japanese

【０００１】 [0001]【産業上の利用分野】 BACKGROUND OF THE INVENTION本発明は一般にオブジェクトの名称を付けて結び付けるコンピュータ方法及びシステムに係り、より詳細には、他のオブジェクトに含まれるリンクされたオブジェクトの名称を付け、そのリンクされたオブジェクトのソースを探索してそれに結び付け、そしてオブジェクトを結び付けるのに必要なサーバの呼び出し回数を減少する一般化された方法及びシステムに係る。 The present invention generally relates to a computer method and system to combine with the name of the object, and more particularly, with the names of objects linked contained in another object, it searches the source of the linked object bound, and according to the generalized method and system for reducing the number of rings servers required to connect the objects.【０００２】 [0002]【従来の技術】 BACKGROUND OF THE INVENTION現在の文書処理コンピュータシステムは、ユーザが複合文書を作成できるようにする。 Current document processing computer systems allow a user to create compound documents.複合文書とは、種々のフォーマットの情報を含む文書である。 The compound document is a document that contains information of various formats.例えば、複合文書は、テキストフォーマット、チャートフォーマット、数値フォーマット等のデータを含む。 For example, the compound document comprises text format, chart format, data such as numeric format.図１は複合文書の例である。 Figure 1 is an example of a compound document.この例において、複合文書１０１は、ある製造プロジェクトのレポートとして作成される。 In this example, the compound document 101 is created as a report of a manufacturing project.この複合文書１０１は、チャートフォーマットで表されたスケジュールデータ１０２と、スプレッドシートフォーマットで表された予算データ１０３と、テキストフォーマットで表された説明データ１０４とを含んでいる。 The compound document 101, the schedule data 102 represented in the chart format, the budget data 103 represented in a spreadsheet format, and a description data 104 represented in a text format.典型的な公知システムにおいては、ユーザは、プロジェクト管理コンピュータシステムを用いてスケジュールデータ１０２を発生しそしてスプレッドシートコンピュータプログラムを用いて予算データ１０３を発生する。 In a typical known system, the user generates budgeting data 103 was used to generate schedule data 102 and a spreadsheet computer program using a project management computer system.このデータが発生された後に、ユーザは、説明データ１０４を入力し、そしてワードプロセスコンピュータプログラムを用いてスケジュールデータ１０２と予算データ１０３を合体することにより複合文書１０１を作成する。 After this data has been generated, the user inputs the description data 104, and creates a compound document 101 by combining the schedule data 102 and budgeting data 103 using a word processing computer program.【０００３】 [0003]図２は、スケジュールデータ、予算データ及び説明データを複合文書にいかに合体できるかを示している。 Figure 2 shows how the schedule data, the budget data and description data can how incorporated into the compound document.ユーザは、プロジェクト管理プログラム２０１を用いてスケジュールデータを発生し、次いで、そのデータをクリップボード２０３に記憶する。 The user generates the schedule data by using the project management program 201 and then stores the data in the clipboard 203.ユーザは、スプレッドシートプログラム２０４を用いて予算データを発生し、次いで、そのデータをクリップボード２０３に記憶する。 User budget data generated using the spreadsheet program 204 and then stores the data in the clipboard 203.クリップボード２０３は、一般にいかなるプログラムによってもアクセスできる記憶エリア（ディスク又はメモリ）である。 Clipboard 203 is generally storage area that can be accessed by any program (disk or memory).プロジェクト管理プログラム２０１及びスプレッドシートプログラム２０４は、典型的に、データをプレゼンテーションフォーマットでクリップボードに記憶する。 Project management program 201 and the spreadsheet program 204 typically store the clipboard data at presentation format.プレゼンテーションフォーマットとは、データを出力装置に容易に表示するフォーマットである。 The presentation format is a format that readily displayed on the output device data.例えば、プレゼンテーションフォーマットは、標準ビットマップのブロック転送動作（ＢｉｔＢｌｔ）で表示できるビットマップである。 For example, the presentation format is a bitmap that can be displayed in a standard bitmap block transfer operation (BitBlt).データをクリップボードに記憶することを、クリップボードに「コピー」すると称する。 That stores the data to the clipboard, it referred Then "copy" to the clipboard.【０００４】 [0004]データがクリップボード２０３にコピーされた後に、ユーザはワードプロセスプログラム２０６を始動して複合文書１０１を作成する。 After the data is copied to the clipboard 203, the user starts the word processing program 206 to create a compound document 101.ユーザは、説明データ１０４を入力し、そしてクリップボード２０３に存在するスケジュールデータ及び予算データをコピーすべき複合文書１０１内の位置を指定する。 The user inputs the description data 104 and specifies a location in the compound document 101 to be copied schedule data and budget data present in the clipboard 203.クリップボードから文書へデータをコピーすることを、クリップボードから「ペースト」すると称する。 That you copy the data from the clipboard to the document, referred to as a result "paste" from the clipboard.次いで、ワードプロセスプログラム２０６は、スケジュールデータ１０２及び予算データ１０３をクリップボード２０３から複合文書１０１の指定の位置へコピーする。 Then, the word processing program 206 copies the schedule data 102 and budgeting data 103 from the clipboard 203 to the specified position of the compound document 101.クリップボードから複合文書へコピーされるデータを「埋め込み」データと称する。 The data to be copied from the clipboard into a composite document referred to as the "embedded" data.ワードプロセスプログラム２０６は、この埋め込みデータを簡単なビットマップとして処理し、複合文書１０１を出力装置にレンダリングするときにＢｉｔＢｌｔ動作で表示する。 Word processing program 206 processes the embedded data as simple bitmaps displayed in BitBlt operation when rendering to an output device compound document 101.ある公知システムにおいては、クリップボードが一度に１つのコピーコマンドに対してデータを記憶することしかできない。 In some known systems, the clipboard can only store data for one copy command at a time.このようなシステムでは、スケジュールデータをクリップボードにコピーし、次いで複合文書にペーストすることができる。 In such a system, copy the schedule data to the clipboard, and then can be pasted into the compound document.その後、予算データをクリップボードにコピーし、次いで、複合文書にペーストすることができる。 Then, copy the budget data to the clipboard, then it can be pasted into the compound document.【０００５】 [0005]【発明が解決しようとする課題】 [Problems that the Invention is to Solveワードプロセッサは一般にテキストデータしか処理しないので、ワードプロセスプログラムのユーザは、埋め込みデータを移動又は削除することはできるが、データがテキストフォーマットにない限り埋め込みデータを変更することはできない。 Since word processors typically text data only to process, the user of the word processing program, although it is possible to move or delete embedded data, the data can not be changed unless the embedded data is not in the text format.従って、ユーザは、例えば、複合文書１０１内にある予算データ１０３を変更したい場合には、スプレッドシートプログラム２０４を始動し、予算データ１０３をファイルからロードし、変更を行い、その変更をクリップボード２０３にコピーし、ワードプロセスプログラム２０６を始動し、複合文書１０１をロードし、そしてその修正したクリップボードデータを複合文書１０１へペーストしなければならない。 Accordingly, the user, for example, if you want to change the budget data 103 within the compound document 101, starts the spreadsheet program 204, loads the budget data 103 from a file, make your changes, the changes to the clipboard 203 copy and start the word processing program 206, loads the compound document 101, and must paste clipboard data thereof modified to compound document 101.【０００６】 [0006]ある公知システムは、データを実際に埋め込むのではなく複合文書に含まれるべきデータに対するリンクを記憶する。 One known systems store links to the data to be included data in the compound document rather than actually embedding.ワードプロセスプログラムがデータをクリップボードから複合文書にペーストするときには、複合文書にリンクが記憶される。 When the word processing program is pasted into the compound document data from the clipboard, a link to the compound document is stored.このリンクは、含まれるべきデータ（典型的にファイルに存在する）を指す。 The link points to the data to be included (typically present in the file).これらの公知システムは、一般に、データに対するリンクを、ワードプロセスプログラムがプレゼンテーションフォーマットとして認識又は処理するフォーマットで与える。 These known systems typically links to data, the word processing program is given in a format recognized or treated as a presentation format.例えば、ワードプロセスプログラム２０６が、ユーザにより、埋め込みではなくリンクによってスケジュールデータ及び予算データを複合文書にペーストするように指示されたときには、そのスケジュールデータ及び予算データがプレゼンテーションフォーマットで存在するファイルの名称が文書に挿入される。 For example, word processing program 206, the user, when it is instructed to paste the compound document schedule data and budget data by a link instead of embedding the name of the file to the schedule data and budget data is present in the presentation format It is inserted into the document.多数の複合文書が同じデータに対するリンクを含むことができ、データの１つのコピーを多数の複合文書によって共有することができる。 Numerous compound document can contain links to the same data, it is possible to share a single copy of the data by a number of complex documents.【０００７】 [0007]本発明の目的は、複合文書内に合体されるデータに対するリンクを発生する方法及びシステムを提供することである。 An object of the present invention is to provide a method and system for generating a link to data to be incorporated into the composite document.【０００８】 [0008]本発明の別の目的は、リンクをその基礎をなすデータに結び付ける方法及びシステムを提供することである。 Another object of the present invention is to provide a method and system for linking the data its underlying links.【０００９】 [0009]本発明の別の目的は、これらのリンクを、その基礎をなすデータとは独立したやり方でインターフェイスする方法及びシステムを提供することである。 Another object of the present invention, these links is to provide a method and system for interfacing a manner that is independent of the data which forms the basis.【００１０】 [0010]本発明の更に別の目的は、複合文書内の任意のレベルにネストされたデータにリンクする方法及びシステムを提供することである。 Still another object of the present invention is to provide a method and system for linking to nested to any level within a compound document data.【００１１】 [0011]【課題を解決するための手段】 In order to solve the problems]これら及び他の目的は、以下の説明から明らかとなるように、データオブジェクトの名称を付けて結び付ける方法及びシステムによって達成される。 These and other objects, as will become apparent from the following description, are achieved by a method and system to combine with the name of the data object.好ましい実施例では、合体されるオブジェクトに対するリンクはモニカ（あだな）として記憶される。 In a preferred embodiment, the link to the object to be combined is stored as Monica (nickname).モニカとは、合体されるデータをアクセスするのに必要な情報をカプセル化しそしてその合体されるデータに連結する方法を与えるようなオブジェクトである。 Monica and is an object, such as to provide encapsulates the information needed to access the data to be combined and how to bind to the data to be its united.【００１２】 [0012]【実施例】 【Example】本発明は、リンクされたデータに名称を付けて結び付ける一般化された方法を提供する。 The present invention provides a generalized method associate with a name to the linked data.好ましい実施例では、リンクされたデータを合体する複合文書は、リンクソースに対するレファレンスである「モニカ」と称する永続性のデータハンドルを記憶する。 In the preferred embodiment, a compound document to coalesce the linked data stores data persistence handle called a reference to the link source "Monica".モニカは、リンクされたデータを識別するための情報を含むと共にアプリケーションプログラムをそのリンクされたデータに結び付けられるようにする方法を与えるデータオブジェクトである。 Monica is a data object to provide a way to be linked to an application program on the linked data together including information for identifying the linked data.【００１３】 [0013]結び付けプロセスは、リンクされたデータをアクセスできるようにするインターフェイスの例を返送する。 Bound process returns the example of the interface to access the linked data.ある場合に、モニカは、それ自体が別の複合文書内の埋め込みデータであるデータをリンクすることができる。 In some cases, Monica, can themselves be linked data is embedded data in another compound document.例えば、モニカは、ワードプロセス文書に含まれたスプレッドシートテーブル内のある範囲のセルにリンクすることができる。 For example, Monica, can be linked to cell range of the spreadsheet table including a word processing document.モニカは、複合文書内のいかなるレベルの文書にもリンクすることができる。 Monica can be linked to any level documents within a compound document.結び付けプロセス中には、多数のアプリケーションを呼び出して、リンクされたデータを探索することができる。 During tied process can invoke multiple applications, searching the linked data.例えば、ワードプロセス文書内にあるスプレッドシート内のある範囲のセルにリンクするために、ワードプロセスプログラムを呼び出して、埋め込まれたスプレッドシートデータを探索できると共に、スプレッドシートプログラムを呼び出してその範囲のセルに結び付けることができる。 For example, to link to a cell in a range within the spreadsheet in a word processing document, calls the word processing program, it is possible to search for the spreadsheet data embedded, the range of cells to call a spreadsheet program it can be tied to.【００１４】 [0014]本発明は、モニカをアクセスするアブストラクトクラス（インターフェイス）を定義する。 The present invention defines an abstract class that accesses the moniker (interface).典型的に、複合文書にリンクすることのできるデータを与える各アプリケーションプログラムは、モニカインターフェースの実施をサポートする。Typically, each application program that provides data which can be linked to the compound document supports the implementation of moniker interface.【００１５】 [0015]本発明の好ましい実施例では、複合文書を形成するアプリケーションプログラムは、別のアプリケーションによって発生されたリンクされた又は埋め込まれたデータの操作を制御する。 In a preferred embodiment of the invention, an application program for forming a compound document controls the manipulation of the data which have been, or embedded links that are generated by another application.オブジェクト指向言語では、このデータをオブジェクトと称する。 In an object-oriented language, it referred to this data with the object.（１９９１年アディソン・ウェスレイ・パブリッシング社出版のバド．Ｔ著の「オブジェクト指向プログラミングの紹介（Ａｎ Ｉｎｔｒｏｄｕｃｔｉｏｎ ｔｏ Ｏｂｊｅｃｔ−Ｏｒｉｅｎｔｅｄ Ｐｒｏｇｒａｍｍｉｎｇ）」と題する参考文献は、オブジェクト指向の概念及び用語を紹介している。）複合文書にリンクされるか又は埋め込まれるオブジェクトは、文書内に「収容」される。 (References entitled "Introduction to Object-Oriented Programming (An Introduction to Object-Oriented Programming)" of Bud .T al., Addison-Wesley Publishing Co., published 1991, introduces the concepts and terminology of object-oriented. ) objects or embedded is linked to the compound document it is "contained" within the document.複合文書は「収容」オブジェクトとも称し、複合文書内に収容されるオブジェクトは「被収容」オブジェクトと称する。 Compound documents referred to as "housing" object, the object contained in the composite in a document called "detainee" object.図１及び２を参照すれば、スケジュールデータ１０２及び予算データ１０３は被収容オブジェクトであり、複合文書１０１は収容オブジェクトである。 Referring to FIGS. 1 and 2, the schedule data 102 and budgeting data 103 is to be accommodated object, the compound document 101 is accommodated object.ユーザは、予算データ１０３のような被収容オブジェクトを編集したいことをワードプロセッサに指示することができる。 The user may indicate a desire to edit the detainee objects such as budget data 103 to the word processor.ユーザが予算データ１０３を編集することを指示したときに、ワードプロセスプログラムは、どのアプリケーションを用いて予算データを編集すべきか（例えば、スプレッドシートプログラム）を決定し、そしてそのアプリケーションを発進（スタート）する。 When the user instructs to edit the budgeting data 103, the word processing program, you should edit the budgeting data using any application (e.g., spreadsheet program) determines, and starting the application (START) to.次いで、ユーザは、その発進したアプリケーションを用いて予算データを操作することができ、複合文書に変更が反映される。 Then, the user, using the starting the application can manipulate the budgeting data, changes are reflected in the compound document.予算データが埋め込まれたオブジェクトとして記憶されるかリンクされたオブジェクトとして記憶されるかについても同じ手順が使用される。 The same procedure is used also whether the budget data is stored as objects that are linked either stored as object embedded.【００１６】 [0016]図３は、複合文書のサンプルを示すブロック図である。 Figure 3 is a block diagram showing a sample compound document.週ごとのプロジェクトレポート３０１は、図１の同じ複合文書である。 Project report 301 per week, is the same compound document shown in FIG. 1.エグゼクティブサマリーレポート３０３は、週ごとのプロジェクト３０１にリンクされる予算チャート３０５を含んでいる。 Executive summary report 303 includes a budget chart 305 that are linked to the project 301 per week.週ごとのプロジェクト３０１ のレポートは、埋め込まれるスプレッドシート３０２を含んでいる。Report of Project 301 weekly includes a spreadsheet 302 to be embedded.この埋め込まれるスプレッドシート３０２は、図２のスプレッドシートプログラム２０４によって作成されたものである。 Spreadsheet 302 This embedded, it was created by the spreadsheet program 204 in FIG.このスプレッドシートのデータであるプロジェクトの予算は、埋め込みオブジェクトであるから、週ごとのプロジェクトレポート３０１の記憶装置内に記憶される。 The budget of the project is a data spreadsheet, because it is an embedded object, is stored in the storage device of the project report 301 Weekly.エグゼクティブサマリー文書３０３は、ネーティブテキスト３０４と、被収容オブジェクトである予算チャート３０５とを含む複合文書である。 Executive summary document 303 includes a native text 304, a compound document including a budget chart 305 is to be accommodated object.予算チャート３０５は、複合文書３０１に埋め込まれるスプレッドシート３０２内に収容されたデータとリンクされる。 Budget chart 305 is linked to have been housed in the spreadsheet 302 which is embedded in the compound document 301 data.【００１７】 [0017]好ましい実施例では、アプリケーションプログラム（アプリケーション）は、オブジェクトリンク及び埋め込み構成を使用して複合文書を作成し操作するように共働する。 In the preferred embodiment, an application program (application) cooperate to create and manipulate compound documents using the object link and the embedded structure.複合文書を作成するアプリケーションをクライエントアプリケーションと称し、被収容オブジェクトを形成して操作するアプリケーションをサーバアプリケーションと称する。 An application that creates a compound document is referred to as a client application, it referred to applications that work by forming a detainee objects and server application.アプリケーションは、クライエント及びサーバの両方として働くことができる。 Application can act as both clients and servers.図２を参照すれば、プロジェクト管理プログラム２０１及びスプレッドシートプログラム２０４はサーバアプリケーションであり、ワードプロセスプログラム２０６はクライエントアプリケーションである。 Referring to FIG. 2, the project management program 201 and the spreadsheet program 204 are server applications, word processing program 206 is a client application.クライエントアプリケーションは、収容オブジェクト内の種々のオブジェクトを選択しそしてその選択した被収容オブジェクトを操作するために適当なサーバアプリケーションを呼び出す役目を果たす。 Client application, fulfilling select various objects and serves to call the appropriate server application to manipulate the detainee objects that selection of accommodating objects.サーバアプリケーションは、被収容オブジェクトの内容を操作する役目を果たす。 Server applications, serves to manipulate the contents of the housing object.【００１８】 [0018]好ましい実施例では、オブジェクトをリンクし埋め込む機能を果たす具現独立アプリケーションプログラミングインターフェイス（ＡＰＩ）がアプリケーションに与えられる。 In a preferred embodiment, it embodied independently application programming interface functions to embed links the object (API) is provided to the application.このＡＰＩは、クライエント及びサーバアプリケーションによって呼び出される１組の機能である。 The API is a set of functions that are invoked by client and server applications.これらの機能は、他のものの中でも、クライエントアプリケーションがサーバアプリケーションとの間でメッセージ及びデータを送信及び受信するに必要な設定及び初期化を管理する。 These features, among other things, client application manages the configuration and initialization required to send and receive messages and data to and from the server application.ＡＰＩは、特定の被収容オブジェクトに作用しそして被収容オブジェクトを操作するために正しいサーバアプリケーションを呼び出す機能を果たす。 API functions to invoke the correct server application to manipulate the act and be housed objects to specific prisoners object.【００１９】 [0019]更に、オブジェクトをリンクし埋め込むＡＰＩは、クライエントアプリケーションがそれらの収容されたオブジェクトと通信できるようにする「インターフェイス」を定める。 Moreover, API embedded link the object defines the "interface" of the client application to communicate with objects contained in them.インターフェイスとは、ある入力、出力及びふるまいルールによって遵守する１組の方法である。 An interface is a set of methods to comply with certain input, output, and behavior rules.収容されたオブジェクトが特定のインターフェイスをサポートする場合には、クライエントアプリケーションは、そのインターフェイスがその定められたふるまいを実行するための方法を呼び出すことができる。 If the contained object supports a particular interface, the client application can invoke the methods for that interface to perform its defined behavior.好ましい実施例では、クライエントアプリケーションはオブジェクトデータを直接アクセスすることは許されず、サポートされたインターフェイスを用いてオブジェクトを操作しなければならない。 In the preferred embodiment, client application is not allowed to directly access the object data must manipulate objects using a supported interface.クライエントアプリケーションは、インターフェイスに対するポインタを介して収容されたオブジェクトに結び付けられる。 Client application is tied to the object accommodated through a pointer to an interface.クライエントアプリケーションは、インターフェイスの方法を呼び出すことによりオブジェクトにアクセスする。 Client application accesses the object by invoking the methods of the interface.この方法では、オブジェクトデータにアクセスするために、サーバアプリケーションにメッセージを送って指定のアクセスを要求する。 In this way, in order to access the object data, it requests the designation of the access by sending a message to the server application.好ましい実施例では、基礎をなすオペレーティングシステムによって与えられるプロセス間通信機構を用いてクライエントとサーバとの間でメッセージが送られる。 In a preferred embodiment, messages are sent between the client and the server using the interprocess communication mechanism provided by the underlying operating system.【００２０】 [0020]クライエントプロセスとサーバプロセスとの間の関係を１つの例で説明する。 Illustrating the relationship between the client and server processes in one example.図１を再び説明すれば、ユーザが複合文書１０１の予算データ１０３を編集しようとする場合、次の一連の事象が生じる。 To describe again to FIG. 1, when a user attempts to edit the budgeting data 103 of the compound document 101, occurs following sequence of events.先ず第１に、ユーザはワードプロセッサプログラムをスタートし、これは、オブジェクトをリンクして埋め込むＡＰＩに動的にリンクしている。 First, the user starts a word processing program, which is dynamically linked to the API to embed and link objects.第２に、ユーザは複合文書を編集のためにオープンする。 Second, the user will be open for editing a complex document.第３に、ユーザは、被収容オブジェクトである予算データを選択し、その選択したオブジェクトを編集すべきことを指示する。 Third, the user selects a budget data as an object to be accommodated object, and instructs that it should edit the selected object.第４に、クライエントアプリケーションがクライエントＡＰＩルーチンを呼び出し、オブジェクトに対するハンドル（選択されたオブジェクトを独特に識別する）と、動作が編集であることを示すインジケータとをルーチンに通すというオブジェクトの動作を実行する。 Fourth, the client application calls the client API routine, a handle (uniquely identifies the selected object) to the object, the behavior of objects that pass through an indicator indicating that the operation is in edit routine Run.第５に、クライエントＡＰＦルーチンは、スプレッドシートプログラムが予算データに対して動作を与えることを決定する。 Fifth, client APF routine determines that the spreadsheet program provides operations on budget data.第６に、クライエントＡＰＩコードは、スプレッドシートプログラムがまだスタートされていなければ、これをサーバプロセスとしてスタートさせる。 Sixth, the client API code, if the spreadsheet program is not already started, to start it as a server process.第７に、ワードプロセッサアプリケーションは、予算データを編集しなければならないスプレッドシートプログラムにメッセージを送る。 Seventh, the word processor application, send a message to the spreadsheet program that does not need to edit the budget data.第８に、サーバＡＰＩコードは、編集の要求を受け取り、データを編集するためのスプレッドシートプログラムのルーチンを呼び出す。 Eighth, the server API code receives the request for editing, calls a routine in the spreadsheet program for editing the data.編集が完了すると、スプレッドシートルーチンはサーバＡＰＩコードに復帰する。 When editing is complete, spreadsheet routine is returned to the server API code.サーバＡＰＩコードはワードプロセッサアプリケーションにメッセージを送って、編集が完了したことを指示する。 Server API code sends a message to the word processor application, to indicate that the editing has been completed.クライエントＡＰＩコードはメッセージを受け取ってその呼び出しから復帰する。 The client API code is returned from the call to receive the message.呼び出しから復帰すると、ワードプロセッサアプリケーションは、編集が完了したことを知る。 When you return from the call, word processor application, know that the editing has been completed.【００２１】 [0021]クライエント及びサーバＡＰＩに加えて、本発明のオブジェクトリンク及び埋め込み構成体は、永続的なグローバル「レジストリ（登録装置）」を経てクライエント及びサーバアプリケーションに情報を与える。 In addition to the client and server API, the object linking and embedding structure of the present invention provide information to client and server applications through a persistent global "registry (registration apparatus)".このレジストリは、（１）オブジェクトの各形式ごとに、そのオブジェクトの形式を具現するサーバアプリケーション、（２）各サーバアプリケーションがクライエントアプリケーションに与える動作、（３）各サーバアプリケーションの実行可能なファイルがどこに配置されているか、そして（４）各サーバアプリケーションが関連オブジェクトハンドラーを有しているかどうかといった情報のデータベースである。 The registry, each format (1) the object, the server application that implements the format of the object, (2) operation of each server application provides to client applications, (3) an executable file for each server application Where it is arranged, and (4) is a database of information and whether the server application has an associated object handler.【００２２】 [0022]オブジェクト指向の言語においては、インターフェイスは、「アブストラクト（抽象）クラス」であり、即ちデータ及び方法の定義は有するが、これら方法の具現はもたないクラスである。 In object-oriented languages, the interface is a "abstract (Abstract) class", that is, with the definition of data and methods, embodying these methods is a class that does not have.これは、オブジェクト「クラス」に対してサーバアプリケーションの役目を果たし、オブジェクトを操作するのに使用できる方法に対する実際のコードを与える。 This acts as a server application for the object "class" to provide the actual code for the methods that can be used to manipulate objects.【００２３】 [0023]図４は、オブジェクトのサンプル例を示すブロック図である。 Figure 4 is a block diagram showing an example example of an object.好ましい実施例において、この例のレイアウトは、 「仮想機能及び仮想ベースクラスを具現化し、オブジェクト指向のプログラミング言語のためにこのポインターを設定するための方法及びシステム（Ｍｅｔｈｏｄ ａｎｄ Ｓｙｓｔｅｍ ｆｏｒ Ｉｍｐｌｅｍｅｎｔｉｎｇ Ｖｉｒｔｕａｌ Ｆｕｎｃｔｉｏｎｓ ａｎｄ Ｖｉｒｔｕａｌ Ｂａｓｅ Ｃｌａｓｓｅｓ ａｎｄ Ｓｅｔｔｉｎｇ ａ Ｔｈｉｓ ｐｏｉｎｔｅｒ ｆｏｒ ａｎ Ｏｂｊｅｃｔ−Ｏｒｉｅｎｔｅｄ Ｐｒｏｇｒａｍｍｉｎｇ Ｌａｎｇｕａｇｅ）」と題する米国特許第５，２９７，２８４号に開示されたモデルに適合する。 In a preferred embodiment, the layout of this example, "embodies the virtual functions and virtual base classes, methods and systems for setting the pointer for an object-oriented programming language(Method and System for Implementing Virtual Functions and Virtual compatible withBase Classes and Setting a This pointer for an Object-Oriented Programming Language) entitled "U.S. Patmodel disclosed in No.5,297,284.この例は、オブジェクトデータ構造体４０１と、各々のサポートされるインターフェイス毎のインターフェイスデータ構造体４１３とを含んでいる。 This example includes the object data structure 401, and an interface data structure 413 for each interface, each of which is supported.オブジェクトデータ構造体４０１は、インターフェイスデータ構造体４１３に対するポインタ４０２を含んでおり、そしてこの例の専用データを含むことができる。 Object data structure 401 includes a pointer 402 for the interface data structure 413, and may include a dedicated data for this example.このサンプル例の専用データは、クラス識別子４０３（ＣＬＡＳＳ ＩＤ）と、オブジェクトの記憶に対するハンドル４０４と、オブジェクトの状態を追跡するデータ４０５とを含む。 Only data of this sample instance includes a class identifier 403 and (CLASS ID), a handle 404 for the storage of objects, and data 405 for tracking the state of the object.クラス識別子は、そのオブジェクトに対して適当なサーバアプリケーションをアクセスするのに使用される。 Class identifier is used to access the appropriate server application for the object.これは、プログラミング言語に用いられるデータ構造体「タイプ」と同様である。 This is similar to the data structures used in programming languages ​​"type".インターフェイスはＣＬＡＳＳ ＩＤを永続的グローバルレジストリへのインデックスとして使用することにより、オブジェクトに対するサーバを決定することができる。 Interface by using as an index into a persistent global registry CLASS ID, it is possible to determine the server for the object.図４に示すように、各インターフェイスデータ構造体４１３は、専用データ構造体４０６及び仮想機能テーブル４０８を含んでいる。 As shown in FIG. 4, each interface data structure 413 contains a private data structure 406 and virtual function table 408.専用データ構造体４０６は、仮想機能テーブル４０８に対するポインタ４０７を含む。 Private data structure 406 contains a pointer 407 to the virtual function table 408.仮想機能テーブル４０８は、インターフェイスの方法を具現化するコードのポインタを含む。 Virtual function table 408 contains a pointer code that embodies the method of the interface.【００２４】 [0024]テーブル１ ＃はインターフェイスクラスを定める インターフェイスｉｎｔｆ｛ｐｕｂｌｉｃ： 仮想ＲＥＴＣＯＤＥ ｐｆｎｃ１ （ａｒｇ１，ａｒｇ２）＝０；仮想ＲＥＴＣＯＤＥ ｐｆｎｃ２ （ａｒｇ１，ａｒｇ２）＝０； Table 1 # Interface intf {public defining an interface class: the virtual RETCODE pfnc1 (arg1, arg2) = 0; virtual RETCODE pfnc2 (arg1, arg2) = 0;仮想ＲＥＴＣＯＤＥ ｐｆｎｃ３ （ ）＝０； Virtual RETCODE pfnc3 () = 0;・・・ ｝； ...};【００２５】 [0025]上記のテーブル１は、オブジェクトデータ構造体４０１の第１エントリーｐｉｎｔｆ１ に対するインターフェイスの定義を表している。 The above table 1 represents the definition of the interface to the first entry pintf1 object data structure 401.テーブル１において、「インターフェイス」という語は、Ｃ＋＋クラスを意味するものとして定義される。 In Table 1, the term "interface" is defined to mean a C ++ class.この定義は、アーギュメントをもつ３つの方法を示している。 This definition shows three methods with arguments.各アーギュメントリストの端の「＝０」は、その方法がコードの具現をもたないことを示している。 "= 0" at the end of each argument list indicates that the method does not have an implementation of the code.Ｃ＋＋のプログラミング言語では、これらの機能を「純仮想機能」と称する。 In the programming language C ++, these functions is referred to as a "pure virtual function".全て純仮想機能を有するクラスをアブストラクトクラスと称する。 All of the class with a pure virtual function is referred to as abstract class.【００２６】 [0026]図５は、オブジェクトのパブリックビューを示すブロック図である。 Figure 5 is a block diagram showing a public view of an object.オブジェクトのパブリックビューとは、オブジェクトがサポートする種々のインターフェイス５０２ないし５０６である。 The public view of an object, which is to have no various interface 502 that supports the object 506.各インターフェイスは、クライエントアプリケーションがオブジェクトをアクセスできるようにする方法を与える。 Each interface provides methods of client applications to access the object.各オブジェクトはＩＵｎｋｎｏｗｎインターフェイス５０２をサポートする。 Each object is to support the IUnknown interface 502.アプリケーションはこのＩＵｎｋｎｏｗｎインターフェイス５０２を用いて、他のどのインターフェイスがオブジェクトをサポートするか決定する。 Applications using this IUnknown interface 502, any other interface to determine whether to support the object.特定のオブジェクトに対してＩＵｎｋｎｏｗｎインターフェイス５０２を具現すると、他のどのインターフェイスがそれをサポートするかが分かり、そのインターフェイスに対する呼び出しアプリケーションポインタに復帰する。 When implementing the IUnknown interface 502 for a particular object, any other interfaces found or not to support it, to return to the calling application pointer to that interface.好ましい実施例では、この目的で、方法ＩＵｎｋｎｏｗｎ：：ＱｕｅｒｙＩｎｔｅｒｆａｃｅが使用される。 In the preferred embodiment, for this purpose, the method IUnknown :: QueryInterface is used.インターフェイス５０３ないし５０６は、オブジェクトによってサポートすることのできる典型的なインターフェイスの例である。 It is no interface 503 506 is an example of a typical interface that can be supported by the object.例えば、ＩＣｒｅａｔｅインターフェイス５０３は、オブジェクトの新たな例を形成する方法を与える。 For example, iCreate interface 503 provides a method to form a new example of an object.ＩＣｏｎｔａｉｎｅｒインターフェイス５０４は、オブジェクト内に含まれる被収容オブジェクトをリストする方法を与える。 IContainer interface 504 provides methods for listing the detainee objects contained in the object.ＩＤａｔａＣｌｉｅｎｔＳｉｔｅインターフェイス５０５は、収容オブジェクトと通信するサーバにより使用されるべき方法を与える。 IDataClientSite interface 505 provides methods to be used by the server to communicate with the accommodating objects.ＩＤａｔａＯｂｊｅｃｔインターフェイス５０６は、オブジェクトデータを操作する方法を与える。 IDataObject interface 506, provides a way to manipulate the object data.【００２７】 [0027]図６は、ＩＭｏｎｉｋｅｒインターフェイスの典型的な例を示すブロック図である。 Figure 6 is a block diagram showing a typical example of IMoniker interface.この例のデータ構造体は、オブジェクトデータ構造体６０１と、仮想機能テーブル６０３とを含んでいる。 Data structure in this example, the object data structure 601, and a virtual function table 603.オブジェクトデータ構造体６０１は、仮想機能テーブル６０３に対するポインタ６０２と、専用例データとを含んでいる。 Object data structure 601 includes a pointer 602 to the virtual function table 603, and a dedicated example data.仮想機能テーブル６０３は、ＩＭｏｎｉｋｅｒインターフェイスの方法を具現化するコードに対するポインタを含んでいる。 Virtual function table 603 contains pointers to the code that embodies the method of the IMoniker interface.テーブル２は、ＩＭｏｎｉｋｅｒインターフェイスのクラスの定義である。 Table 2, is the definition of the class of the IMoniker interface.【００２８】 [0028]テーブル２ クラス ＩＭｏｎｉｋｅｒ ｛ 仮想 ＳＣＯＤＥ ＢｉｎｄＴｏＯｂｊｅｃｔ（ｐｂｃ，ｉｉｄＴｏＬｅｆｔ，ｐｖＴｏＬｅｆｔ，ｐｍｋＴｏＬｅｆｔ， ｌｉｄＲｅｓｕｌｔ，ｐｐｖｒｅｓｕｌｔ）＝０； 仮想 ＳＣＯＤＥ ＩＩＤＢｉｎｄＴｏＯｂｊｅｃｔ（ｐｉｄｄ）＝０； 仮想 ＳＣＯＤＥ ＢｉｎｄＴｏＳｔｏｒａｇｅ（ｐｂｃ，ｐｍｋＴｏＬｅｆｔ，ｉｉｄ，ｐｐｖＯｂｊ）＝０； 仮想 ＳＣＯＤＥ Ｒｅｄｕｃｅ（ｐｂｃ，ｄｗＲｅｄｕｃｅＨｏｗＦａｒ，ｐｐｍｋＴｏＬｅｆｔ，ｐｐｍｋＲｅｄｕｃｅｄ）＝０； 仮想 ＳＣＯＤＥ ＣｏｍｐｏｓｅＷｉｔｈ（ｐｍｋＲｉｇｈｔ，ｆＯｎｌｙｉｆＮｏｔＧｅｎｅｒｉｃ，ｐｐｍＣｏｍｐｏｓｅ） 仮想 ＳＣＯＤＥ Ｅａｔｅｎ（ｆＦｏｗａｒｄ，ｐｐｃｎｍＭｏｎｉｋｅｒ）＝０； Table 2 Class IMoniker {virtual SCODE BindToObject (pbc, iidToLeft, pvToLeft, pmkToLeft, lidResult, ppvresult) = 0; virtual SCODE IIDBindToObject (pidd) = 0; virtual SCODE BindToStorage (pbc, pmkToLeft, iid, ppvObj) = 0; virtual SCODE Reduce (pbc, dwReduceHowFar, ppmkToLeft, ppmkReduced) = 0; virtual SCODE ComposeWith (pmkRight, fOnlyifNotGeneric, ppmCompose) virtual SCODE Eaten (fFoward, ppcnmMoniker) = 0; 仮想 ＳＣＯＤＥ ＩｓＧｅｎｅｒｉｃ Ｃｉｍｐｏｓｉｔｅ（）＝０； 仮想 ＳＣＯＤＥ ＩｓＥｑｕａｌ（ｆｉｄｅｎｔｉｃａｌ，ｐｍｋＯｔｈｅｒＭｏｎｉｋｅｒ）＝０； 仮想 ＳＣＯＤＥ Ｈａｓｈ（ＩＩｄｅｎｔｉｃａｌ，ｐｄｗＨａｓｈ）＝０； 仮想 ＳＣＯＤＥ ＧｅｔＴｉｍｅＯｆＬａｓｔＣｈａｎｇｅ（ｐｂｃ，ｐｍｋＴｏＬｅｆｔ，ｐｆｉｌｅｔｉｍｅ）＝０； 仮想 ＳＣＯＤＥ Ｉｎｖｅｒｓｅ（ｐｐｍｋ）＝０； 仮想 ＳＣＯＤＥ ＣｏｍｍｏｎＰｒｅｆｉｘＷｉｔｈ（ｐｍｋＯｔｈｅｒ，ｐｐｍｋＰｒｅｆｉｘ）＝０； 仮想 ＳＣＯＤＥ ＲｅｌａｔｉｖｅＰａｔｈＴｏ（ｐｍｋＯｔｈｅｒ，ｐｐｍｋＲｅｌＰａｔｈ）； 仮想 ＳＣＯＤＥ ＧｅｔＵｓｅｒＮａｍｅ（ｐｂｃ，ｐｍｋＴｏＬｅｆｔ，ＬｐＬｐｓｚＵｓｅｒＮａｍｅ） Virtual SCODE IsGeneric Cimposite () = 0; virtual SCODE IsEqual (fidentical, pmkOtherMoniker) = 0; virtual SCODE Hash (IIdentical, pdwHash) = 0; virtual SCODE GetTimeOfLastChange (pbc, pmkToLeft, pfiletime) = 0; virtual SCODE Inverse (ppmk) = 0; virtual SCODE CommonPrefixWith (pmkOther, ppmkPrefix) = 0; virtual SCODE RelativePathTo (pmkOther, ppmkRelPath); virtual SCODE GetUserName (pbc, pmkToLeft, LpLpszUserName)＝０； 仮想 ＳＣＯＤＥ ＰｕｒｓｅＵｓｅｒＮａｍｅ（ｐｂｃ，ｐｍｋＴｏＬｅｆｔ，ｌｐｓｚＵｓｅｒＮａｍｅ，ｐｃｈＥａｔｅｎ， ｐｐｐｍｋＯｕｔ）＝０； ｝ = 0; virtual SCODE PurseUserName (pbc, pmkToLeft, lpszUserName, pchEaten, pppmkOut) = 0;}【００２９】 [0029]これらの方法に加えて、ＩＭｏｎｉｋｅｒの具現は、典型的に、ＭｋＰａｒｓｅＵｓｅｒＮａｍｅ、ＭｋＣｒｅａｔｅＩＢｉｎｄＣｏｎｔｅｘｔ、ＭｋＣｒｅａｔｅＧｅｎｅａｉｃＣｏｍｐｏｓｉｔｅ、ＭｋＣｒｅａｔｅＦｉｌｅＭｏｎｉｋｅｒ、ＭｋＣｒｅａｔｅＩｔｅｍＭｏｎｉｋｅｒ及びＭｋＣｒｅａｔｅＡｎｔｉＭｏｎｉｋｅｒの機能をサポートし、これらについては以下に述べる。 In addition to these methods, embodying the IMoniker typically, MkParseUserName, support MkCreateIBindContext, MkCreateGeneaicComposite, MkCreateFileMoniker, the function of MkCreateItemMoniker and MkCreateAntiMoniker, These will be described below.【００３０】 [0030]図２３は、リンクされたオブジェクトを示す図である。 Figure 23 is a diagram illustrating a linked object.この例では、複合文書２２０１は、複合文書１０１に記憶されたレポートのような種々のプロジェクトレポートの編集物である。 In this example, the compound document 2201 is a compilation of various project reports, such as reports that are stored in the compound document 101.複合文書２２０１は、複合文書２２０２へのリンクを含んでいる。 Compound document 2201 includes a link to a composite document 2202.このリンクは、ファイル「ＶＡＣ１．ＤＯＣ」に記憶された複合文書が理論的に複合文書２２０１内にあることを示している。 This link is a compound document stored in the file "VAC1.DOC" indicates that there theoretically the compound document 2201.好ましい実施例においては、リンクがモニカとして記憶される。 In a preferred embodiment, the link is stored as a moniker.モニカは、リンクのソースへアクセスする方法を与えるクラス（モニカオブジェクト）の例である。 Monica is an example of a class (moniker object) that provides methods to access the source of the link.モニカオブジェクトは、リンクのソースを識別するデータをカプセル化し、アプリケーションプログラムがリンクのソースをアクセスできるようにする方法を与える。 Monica object encapsulates data that identifies the source of the link to provide a method of application programs to access the source of the link.例えば、複合文書２２０１から複合文書２２０２へのリンクが形成されたときは、ワードプロセッサは、「ＶＡＣ１．ＤＯＣ」ファイルを指すモニカオブジェクトの例を挙げる機能を呼び出す。 For example, when the link from the compound document 2201 to compound document 2202 is formed, a word processor calls the example function moniker object that points to the "VAC1.DOC" file.この機能は、新たなモニカオブジェクトに対するポインタを返送する。 This function returns a pointer to a new moniker object.次いで、ワードプロセッサは、そのモニカプロジェクトを複合文書２２０１内に記憶する。 Then, a word processor, stores the moniker project into the compound document 2201.ワードプロセッサは、モニカオブジェクトの方法を介してリンクソースへアクセスする。 Word processor accesses the link source through the methods of the moniker object.例えば、モニカのクラスが「結び付け」方法をサポートする。 For example, Monica classes to support the "bound" manner.この結び付け方法は、リンクソースがどこに配置されているかを決定し、そのソースを表すオブジェクトに対するポインタを返送する。 The bound method to determine are arranged where the link source, and returns a pointer to an object that represents the source.この例では、モニカオブジェクトの結び付け方法は、ソースがファイル「ＶＡＣ １ ．ＤＯＣ」に記憶されていると決定し、ファイルを表すためにオブジェクトを例示し、その例示されたオブジェクトに対するポインタを返送する。 In this example, the method combines the moniker object, determines that the source is stored in the file "VAC 1 .DOC" instantiates objects to represent the file and returns a pointer to the illustrated objects.次いで、ワードプロセッサは、その返送されたオブジェクトでソースデータをアクセスする方法を呼び出す。 Then, a word processor invokes a method for accessing the source data in the returned object.【００３１】 [0031]図７は、図３のエグゼクティブサマリー複合文書３０３に記憶されるモニカを示すブロック図である。 Figure 7 is a block diagram showing the moniker that is stored in the executive summary compound document 303 in FIG.このモニカは、リンクされたチャートオブジェクト３０５を表している。 This moniker represents the linked chart object 305.このリンクは複合文書内に埋め込まれたデータを指すので、モニカは、複合文書を識別するのに必要なリンクと、複合文書内のデータを識別するのに必要なリンクとの合成体として示されている。 This link refers to embedded in the compound document data, Monica, is shown as a composite of a link needed to identify and link needed to identify the compound document, the data in the compound document ing.従って、リンクを合成モニカと称する。 Thus, it referred to the link and synthetic moniker.合成モニカは、埋め込みハイアラーキ構成において左から右に順序付けされた成分モニカを含んでいる。 Synthesis Monica includes a component moniker ordered from left to right in the embedding hierarchy structure.合成モニカ７０１は、３つの成分モニカ７０２、７０３及び７０４を備えている。 Synthesis moniker 701 comprises three component moniker 702, 703 and 704.成分モニカ７０２は、複合文書３０１を参照する。 Component moniker 702 references the compound document 301.成分モニカ７０２は、ＣＬＡＳＳ ＩＤ（ＦｉｌｅＭｏｎｉｋｅｒ）と、複合文書３０１のユーザ読み取り可能な名称「Ｃ：＼ＶＡＣ１．ＤＯＣ」とを含んでいる。 Component moniker 702 includes a CLASS ID (FileMoniker), user readable name of the compound document 301 "C: \VAC1.DOC" and contain.成分モニカ７０３は、複合文書３０１ 内に埋め込まれたオブジェクトを参照する。 Component moniker 703 references the embedded object in the compound document 301.ワードプロセスアプリケーションは、成分モニカ７０３を理解しそしてこれを用いて埋め込まれたスプレッドシートを位置決めする。 Word processing application understands component moniker 703 and position the spreadsheet embedded with this.成分モニカ７０３は、ＣＬＡＳＳ ＩＤ（ＷＩｔｅｍＭｏｎｉｋｅｒ）と、埋め込まれたスプレッドシートのユーザ読み取り可能な名称とを含んでいる。 Component moniker 703 contains a CLASS ID (WItemMoniker), embedded and a user readable name of the spreadsheet.ＣＬＡＳＳ ＩＤ「ＷＩｔｅｍＭｏｎｉｋｅｒ」は、ワードプロセッサがこの成分モニカを認識することを示している。 CLASS ID "WItemMoniker" indicates that the word processor recognizes this component moniker.成分モニカ７０４は、埋め込まれたスプレッドシートオブジェクト３０２内のデータの範囲を参照する。 Component moniker 704 references the range of data in the spreadsheet object 302 embedded.この成分モニカ７０４は、ＣＬＡＳＳ ＩＤ（ＳＩｔｅｍＭｏｎｉｋｅｒ）と、その範囲に対してユーザが読み取り可能な名称とを含んでいる。 The component moniker 704, the CLASS ID (SItemMoniker), contains a readable name user for that range.ＣＬＡＳＳ ＩＤ（ＳＩｔｅｍＭｏｎｉｋｅｒ）は、スプレッドシートプログラムがこの成分モニカを認識することを指示する。 CLASS ID (SItemMoniker) is a spreadsheet program to indicate that recognizes this component moniker.合成モニカのオブジェクトデータ構造体は、データ構造体８０１及び仮想機能テーブル８０２を含んでいる。 Object data structures of the synthesis moniker includes data structures 801 and virtual function table 802.このデータ構造体８０１は、ＣＬＡＳＳ ＩＤ８０３と、リンクされたリスト８０５に対するポインタ８０４とを含んでいる。 The data structure 801 includes a CLASS ID 803, and a pointer 804 to the link list 805.この例では、ＣＬＡＳＳ ＩＤは、タイプＩＤ ＧｅｎＣｏｍｐｏｓｉｔｅＭｏｎｉｋｅｒのモニカを指示する。 In this example, CLASS ID indicates the moniker of type ID GenCompositeMoniker.【００３２】 [0032]図８は、典型的な合成モニカオブジェクトデータ構造体を示すブロック図である。 Figure 8 is a block diagram showing a typical synthesis moniker object data structure.リンクされたリスト８０５は、各成分モニカごとに１つのエントリー８０６を含んでいる。 Linked list 805 contains one entry 806 for each component moniker.各エントリーは、成分モニカ８０９ないし８１１に対するポインタを含んでいる。 Each entry contains a pointer to the component moniker 809 to 811.【００３３】 [0033]図９は、一般的な合成モニカ方法ＣｏｍｐｏｓｅＷｉｔｈの具現化を示すフローチャートである。 Figure 9 is a flow chart showing the implementation of the general synthetic moniker method ComposeWith.方法ＧｅｎＣｏｍｐｏｓｉｔｅＭＯｎｉｋｅｒ：：ＣｏｍｐｏｓｅＷｉｔｈは、指定されたモニカを左部分にそして呼称されたモニカを右部分に有する新たな合成モニカを形成する。 How GenCompositeMOniker :: ComposeWith form a new synthetic moniker with the specified moniker on the left part and the designation by moniker to the right portion.この方法は、新たな合成モニカに対するポインタを返送する。 This method returns a pointer to a new synthesis moniker.ステップ９０１において、この方法は、呼称されたモニカのＩｓＧｅｎｅｒｉｃＣｏｍｐｏｓｉｔｅ？ In step 901, the method, IsGenericComposite designations have been Monica?方法を呼び出し、それが一般的な合成モニカであるかどうかの判断をする。 Call the method, it is decide whether a general synthetic moniker.もしそうでなければ、この方法はステップ９０４へ続き、さもなくば、ステップ９０２へ続く。 If not, the method continues to step 904, else continues at step 902.ステップ９０２において、この方法は、 指定されたモニカの方法であるＦｉｎｄＦｉｒｓｔＥｌｅｍｅｎｔ方法を呼び出し、これは、第１の成分モニカに対するポインタと、残りの成分モニカに対するポインタとを返送する。 In step 902, the method invokes the FindFirstElement method is specified moniker method, which returns a pointer to the first component moniker and a pointer to the remaining components moniker.ステップ９０３では、この方法は、第１成分モニカのＣＬＡＳＳ ＩＤを抽出する。 In step 903, the method extracts the first component moniker CLASS ID.ステップ９０４では、呼称されたモニカのＣＬＡＳＳ ＩＤが抽出される。 In step 904, referred to moniker of CLASS ID is extracted.ステップ９０３及び９０４が完了すると、この方法は、新たな合成モニカの右部分として使用するモニカのＣＬＡＳＳＩＤを得る。 Step 903 and 904 are completed, this method obtains CLASSID moniker used as the right portion of the new synthetic moniker.ステップ９０７において、この方法は、ＭｋＣｒｅａｔｅＧｅｎｅｒｉｃＣｏｍｐｏｓｉｔｅ機能を呼び出して、左側の指定されたモニカと、右側の呼称されたモニカとで成る新たな一般的な合成モニカを形成し、次いで、その新たな合成モニカに対するポインタを返送する。 In step 907, the method calls the MkCreateGenericComposite function, and Monica specified on the left, to form a new general synthetic moniker made in the right designation has been moniker, then for the new synthetic moniker and it returns a pointer.【００３４】 [0034]図１０は、機能ＭｋＣｒｅａｔｅＧｅｎｅｒｉｃＣｏｍｐｏｓｉｔｅのフローチャートである。 Figure 10 is a flowchart of function MkCreateGenericComposite.この機能は、左右の２つのモニカを得、左右のモニカより成る新たな合成モニカを形成し、その新たなモニカに対するポインタを返送する。 This feature is to give the right and left two monikers, to form a new synthetic moniker consisting left moniker and returns a pointer to the new moniker.ステップ１００１では、この機能は、ｐｍｋＦｉｒｓｔ：：ＩｓＧｅｎｅｒｉｃＣｏｍｐｏｓｉｔｅ？ In step 1001, this feature, pmkFirst :: IsGenericComposite?方法を呼び出して、左のモニカが一般的な合成モニカであるかどうか判断する。 Call the method, it is determined whether or not the left of Monica is a general synthetic Monica.もしそうであれば、この機能はステップ１００４へ続き、さもなくば、ステップ１００２へ続く。 If so, this function continues to step 1004, otherwise, it continues to step 1002.ステップ１００２では、新たな一般的な合成モニカを割り当て、そして左のモニカのコピーをその第１エレメントとして記憶する。 In step 1002, it assigned a specific new general synthetic moniker and stores the moniker copy of the left as its first element.更に、ステップ１００２において、必要なデータ構造体を割り当てると共に、新たな一般的な合成モニカのノードをリンクされたリストに割り当て、そしてこの値を変数ｐｒｅｖｉｏｕｓに記憶する。 Further, in step 1002, allocates the necessary data structures, assigned to the linked list a new general synthetic moniker node, and stores this value in the variable previous.ステップ１００３では、通過された左側のモニカ（ｐｍｋＦｉｒｓｔ）を、第１のエレメントとして、ｐｃｍで指示された新たな合成モニカに挿入する。 In step 1003, the moniker (pmkFirst) of the left that has been passed through, as a first element is inserted into a new synthetic moniker instructed by pcm.この方法は、次いで、ステップ１００８へと続く。 The method then continues to step 1008.ステップ１００４ないし１００７では、元の左側モニカの成分モニカを含む新たな合成モニカを形成するように機能がループする。 In step 1004 through 1007, loop functions so as to form a new synthetic moniker comprising component moniker of the original left moniker.このループは、元の左側モニカのリンクされたリストのエレメントを横切り、成分モニカのコピーを新たな合成モニカに挿入する。 The loop traverses the elements of the original left moniker linked list, inserting a copy of the component moniker to the new synthetic moniker.ステップ１００４では、左側モニカの最後のエレメントをサーチするために多数の変数が初期化される。 In step 1004, a number of variables are initialized to search for the last element of the left moniker.これを行うために、変数ｐｒｅｖｉｏｕｓをリンクされたリストの第１エレメントを指すようにセットし、変数ｃｕｒｒｅｎｔをリンクされたリストの第２エレメントを指すようにセットし、そしてｐｃｍをリンクされたリストの第１エレメントによって指示された第１モニカにセットする。 To do this, set to point to the first element of a linked list of variable previous, set to point to the second element of the linked list variable current, and link the pcm the list to set the first moniker instructed by the first element.ステップ１００５では、変数ｃｕｒｒｅｎｔがＮＵＬＬであるかどうか判断される。 In step 1005, the variable current is determined whether NULL.もしそうであれば、変数ｐｒｅｖｉｏｕｓは左の合成モニカの最後のエレメントを指し、これは、全ての成分モニカがその新たな合成モニカに対して無効であったことを示すもので、この機能はステップ１００８へと続き、さもなくば、ステップ１００６へと続く。 If so, the variable previous points to the last element of the synthesis Monica left, this is an indication that all components moniker is invalid for the new synthetic moniker, this feature step It continues to 1008, otherwise it continues to step 1006.ステップ１００６では、変数ｐｃｍによって指示されたモニカが変数ｃｕｒｒｅｎｔによって指示されたモニカを通すＣｏｍｐｏｓｅＷｉｔｈ方法を呼び出す。 In step 1006, it calls a ComposeWith method moniker indicated by the variable pcm swipes Monica indicated by the variable current.ステップ１００７では、この新たな合成モニカを指すように変数ｐｃｍをセットし、リンクされたリストの次の２つのエレメントを指すように変数ｐｒｅｖｉｏｕｓ及びｃｕｒｒｅｎｔを更新し、そしてステップ１００５へとループして、変数ｐｒｅｖｉｏｕｓがリンクされたリスト終わりを指すかどうか判断する。 In step 1007, it sets the variable pcm to point to this new synthetic moniker and updates the variables previous and current to point to the next two elements in the linked list, and loops to step 1005, it is determined whether or not point to the end of the list variable previous is linked.ステップ１００８では、ｐｍｋＲｅｓｔＩｓＧｅｎｅｒｉｃＣｏｍｐｏｓｉｔｅ？ In step 1008, pmkRestIsGenericComposite?方法を呼び出し、右側のモニカが一般的な合成モニカであるかどうか判断する。 Call the method, to determine whether the right moniker is a general synthesis moniker.もしそうでなければ、この機能は、ステップ１０１０へと続き、さもなくば、ステップ１００９へと続く。 If not, this function continues to step 1010, otherwise it continues to step 1009.ステップ１００９では、右側モニカのリンクされたリストを新たな左側モニカに添付する。 In step 1009, it attaches the list that is the right moniker link to the new left moniker.この機能はステップ１０１２へと続く。 This feature continues to step 1012.ステップ１０１０及び１０１１において、右側のモニカを指す新たなエレメントが新たな左側のモニカに添付される。 In step 1010 and 1011, a new element pointing to the right moniker is attached to Monica new left.ステップ１０１２において、返送値ｐｐｍｋＣｏｍｐｏｓｉｔｅを新たな合成モニカであるｐｃｍにセットし、この機能は復帰する。 In step 1012, it sets the return value ppmkComposite to a new synthetic moniker pcm, this function returns.【００３５】 [0035]図１１は、典型的な具現化のＦｉｎｄＬａｓｔＥｌｔ方法のフローチャートである。 Figure 11 is a flow chart of FindLastElt methods typical realization.この方法は２つのモニカを形成する。 This method forms two monikers.第１のモニカは、指定されたモニカの最後の成分モニカに対応する。 The first moniker corresponds to the last component moniker in the specified moniker.第２のモニカは、指定されたモニカの残り部分に対応する。 The second moniker corresponds to the remainder of the specified moniker.ステップ１１０１において、この方法は、リンクされたリストの第２エレメントを指すように変数ｃｕｒｒｅｎｔをセットし、リンクされたリストの第１エレメントを指すように変数ｐｒｅｖｉｏｕｓをセットし、そして第１の成分モニカを指すように変数ｒｅｓｔをセットする。 In step 1101, the method sets the variable current to point to the second element of the linked list, and sets the variable previous to point to the first element of the linked list, and the first component moniker to set the variable rest to point to.ステップ１１０２ないし１１０５は、指定されたモニカのリンクされたリストを横切り、第２のモニカを形成する。 Step 1102 through 1105 traverse the linked list of the specified moniker to form the second moniker.ステップ１１０２において、変数ｃｕｒｒｅｎｔが最後のエレメントを指す場合には、この方法はステップ１１０６に続き、さもなくば、ステップ１１０３に続く。 In step 1102, if the variable current points to the last element, the method continues at step 1106, else it continues at step 1103.ステップ１１０６では、変数ｃｕｒｒｅｎｔによって指示されたモニカを指すようにパラメータＬａｓｔＥｌｔをセットし、復帰となる。 In step 1106, it sets the parameters LastElt to point to the moniker indicated by variable current, returns.【００３６】 [0036]図１２は、典型的な具現化のＦｉｎｄＦｉｒｓｔＥｌｔ方法のフローチャートである。 Figure 12 is a flow chart of FindFirstElt methods typical realization.この方法は、ＦｉｎｄＬａｓｔＥｌｔ方法と同様であるが、第１の成分モニカに対するポインタと、残りの成分モニカより成る新たな合成モニカに対するポインタとを返送する。 This method is similar to FindLastElt method returns a pointer to the first component moniker and a pointer to the new synthetic moniker consisting remaining components moniker.【００３７】 [0037]図１３は、典型的な具現化のＢｉｎｄＴｏＯｂｊｅｃｔ方法を示すフローチャートである。 Figure 13 is a flowchart showing the BindToObject method for a typical realization.このＢｉｎｄＴｏＯｂｊｅｃｔ方法は、ＢｉｎｄＴｏＯｂｊｅｃｔ（又はＢｉｎｄＴｏＳｔｏｒａｇｅ）を繰り返し呼び出し、指定されたモニカにより指示されたオブジェクトを探索して結び付けるのに使用できるオブジェクト（又は記憶）を得るものである。 The BindToObject method invokes repeatedly BindToObject (or BindToStorage), is intended to obtain the object (or storage) that can be used to connect to the search object indicated by the specified moniker.一般に、ＢｉｎｄＴｏＯｂｊｅｃｔ方法は、そのプレフィックス成分モニカの方法を使用して、指定されたモニカによって指示されたオブジェクト又は記憶を返送する。 Generally, BindToObject method, using the method of its prefix component moniker and returns the object or storage indicated by the specified moniker.この方法は、最後の成分モニカのＢｉｎｄＴｏＯｂｊｅｃｔ方法を呼び出し、これは次いで右から左へそのプレフィックスモニカのＢｉｎｄＴｏＯｂｊｅｃｔ方法を呼び出す。 This method invokes the BindToObject method of the last component moniker, which in turn calls the BindToObject method of the prefix moniker from right to left.ＢｉｎｄＴｏＯｂｊｅｃｔ方法は、次の６つのパラメータを取るものである。 BindToObject method is to take the following six parameters.即ち、ｐｏｉｎｔｅｒｔｏａｂｉｎｄコンテクスト、第３パラメータのインターフェイス識別子、プレフィックスモニカに対応するオブジェクトのインターフェイスのポインタ、プレフィックスモニカ、呼び出し側が結び付けようとしているインターフェイス、及び例示されたインターフェイスに対応する出力パラメータ。 That, Pointertoabind context, the third parameter of the interface identifier, a pointer interface of the object corresponding to the prefix moniker, the prefix moniker, the caller is trying to tie interface, and an output parameter corresponding to the illustrated interface.ステップ１３０１において、指定されたモニカのＦｉｎｄＬａｓｔＥｌｔ方法を呼び出し、その最後の成分モニカを見つける。 In step 1301, it calls the FindLastElt method of the specified moniker to find its last component moniker.ステップ１３０２において、最後の成分モニカのＩｉｄＢｉｎｄＴｏＯｂｊｅｃｔ方法を呼び出す。 In step 1302, it calls a IidBindToObject method of the last component moniker.ステップ１３０３において、この方法がＩＤ ＮＵＬＬを返送する場合には、最後の成分モニカのＢｉｎｄＴｏＯｂｊｅｃｔ方法を呼び出して、結び付けが必要なインターフェイスを決定することが必要であり、この方法はステップ１３０４へと進み、さもなくば、ステップ１３０５へと続く。 In step 1303, if this method returns the ID NULL, call the BindToObject method of the last component moniker, it is necessary to determine the bound is needed interfaces, the method proceeds to step 1304, otherwise, it continues to step 1305.ステップ１３０４において、ＢｉｎｄＴｏＯｂｊｅｃｔ方法は最後の成分モニカのＢｉｎｄＴｏＯｂｊｅｃｔ方法を呼び出し、合成モニカの第１部分をそのプレフィックスモニカとして通して、復帰となる。 In step 1304, BindToObject method invokes the BindToObject method of the last component moniker, through the first part of the synthesis moniker as its prefix moniker returns.ステップ１３０５において、最後の成分モニカのＩｉｄＢｉｎｄＴｏＯｂｊｅｃｔ方法によって返送されたインターフェイスがＩＤ ＳＴＯＲＡＧＥに等しい場合には、この方法はステップ１３０６へ続き、さもなくば、ステップ１３０７へ続く。 In step 1305, if the returned interface by IidBindToObject method last component moniker is equal to ID STORAGE, the method continues at step 1306, else continues to step 1307.ステップ１３０６において、この方法は、プレフィックスモニカのＢｉｎｄＴｏＳｔｏｒａｇｅ方法を呼び出す（変数ｒｅｓｔ）。 In step 1306, the method invokes the BindToStorage method prefix moniker (variable rest).返送の際に、変数ｐｖは、プレフィックスモニカに対応する記憶オブジェクトの結び付けられた例を指し、ステップ１３０８へと続く。 During return, the variable pv refers to examples tied the storage object corresponding to the prefix moniker and continues to step 1308.ステップ１３０７において、プレフィックスモニカに対するＢｉｎｄＴｏＯｂｊｅｃｔ方法を呼び出す。 In step 1307, it calls the BindToObject method for the prefix moniker.最後の成分モニカによって要求されたインターフェイスを通し、そのインターフェイスに対応する例示されたオブジェクトが変数ｐｖにおいて返送される。 Through the interface requested by the last component moniker, illustrated object corresponding to that interface is returned in the variable pv.ステップ１３０８では、変数ｐｖによって指示された例示されたオブジェクトが、その通された結び付けコンテクストに登録される。 In step 1308, illustrated object indicated by the variable pv is registered in the threaded tied contexts.この結び付けコンテクストは、ＢｉｎｄＴｏＯｂｊｅｃｔ方法の以前の呼び出しによって対応的に結び付けられた現在例示されているオブジェクトのリンクされたリストである。 The bound context is a linked list of objects currently tied Correspondingly exemplified by a previous invocation of the BindToObject method.この結び付けコンテクストは、ＢｉｎｄＴｏＯｂｊｅｃｔ方法によって使用されて、その指定されたモニカにより参照されたオブジェクトが既に例示されたかどうかが決定される。 The bound context is used by BindToObject method, whether the object referenced by the specified moniker is already illustrated are determined.ステップ１３０９においては、最後の成分モニカによって要求されたインターフェイス、モニカプレフィックスに対応する例示されたインターフェイス、及び元のＢｉｎｄＴｏＯｂｊｅｃｔ呼び出しで要求された元のインターフェイスで最後の成分モニカのためのＢｉｎｄＴｏＯｂｊｅｃｔ方法を呼び出す。 In step 1309, call last interface requested by the component moniker, illustrated interface corresponding to Monica prefix, and the BindToObject method for the last component moniker in the original original interface requested in BindToObject call.次いで、この方法は復帰となる。 The method then returns.【００３８】 [0038]図１４は、ファイルモニカの典型的な具現化に対するＢｉｎｄＴｏＯｂｊｅｃｔ方法を示すフローチャートである。 Figure 14 is a flowchart illustrating a BindToObject method for a typical implementation of a file moniker.この方法は、指定されたファイルモニカに対応するオブジェクトがランニングオブジェクトテーブルにより指示されたように存在するかどうかを決定し、そのオブジェクトに対するポインタを返送する。 The method object corresponding to the specified file moniker to determine whether there as indicated by the running object table and returns a pointer to that object.ランニングオブジェクトテーブルは、例示された全ての現在オブジェクトに対するポインタを含んでいる。 Running object table contains pointers to all the current objects illustrated.さもなくば、この方法は適当なサーバを探し、ファイルに対するインターフェイスを例示する。 Otherwise, the method looks for an appropriate server, illustrating an interface to the file.ＦｉｌｅＭｏｎｉｋｅｒ：：ＢｉｎｄＴｏＯｂｊｅｃｔ方法は、一般的な合成モニカＢｉｎｄＴｏＯｂｊｅｃｔ方法でリストした同じ６つのパラメータを取るものである。 FileMoniker :: BindToObject method is to take a general synthetic moniker BindToObject same six parameters listed in the method.ステップ１４０１ないし１４０４において、この方法は、対応するオブジェクトに対してランニングオブジェクトテーブルを使用して、指定されたファイルモニカが存在するかどうか判断する。 In step 1401 through 1404, the method uses the Running Object Table for the corresponding object, it is determined whether the specified file moniker exists.ステップ１４０１において、この方法は、指定されたモニカがランニングオブジェクトテーブルにリストされているかどうかを判断する。 In step 1401, the method, the specified moniker to determine whether it is listed in the running object table.もしそうであれば、この方法はステップ１４０２へ続き、さもなくば、ステップ１４０５へ続く。 If this is the case, the method continues to step 1402, otherwise, it continues to step 1405.ステップ１４０２において、この方法は、要求されたインターフェイスがランニングオブジェクトテーブル内のものと一致するかどうかを判断する。 In step 1402, the method requested interface to determine whether match with those in the running object table.もし一致すれば、ステップ１４０３において、そのインターフェイスに対するポインタを返送する。 If there is a match, then, in step 1403, and returns a pointer to that interface.さもなくば、ステップ１４０４において、ランニングオブジェクトテーブルで見つかったオブジェクトのＱｕｅｒｙＩｎｔｅｒｆａｃｅ方法を呼び出すことによりその要求されたインターフェイスを得、そして復帰となる。 Otherwise, in step 1404, obtain the requested interface by invoking the QueryInterface method of the object found in the Running Object Table and returns.ステップ１４０５において、指定されたモニカがランニングオブジェクトテーブルに見つからなかったために、この方法は、指定されたモニカに対応するサーバを見つける（ｆｉｌｅｎａｍｅ）。 In step 1405, because the specified moniker was not found in the Running Object Table, this method finds the server corresponding to the specified moniker (filename).ステップ１４０６において、サーバを呼び出してそのクラスの例を形成する。 In step 1406, it calls the server to form an example of that class.ステップ１４０７において、その例のＱｕｅｒｙＩｎｔｅｒｆａｃｅ方法を呼び出し、結び付けのためのインターフェイスが得られる。 In step 1407, it calls the QueryInterface method of the example, the interface for linking are obtained.ステップ１４０８では、結び付けインターフェイスのＬｏａｄ方法が呼び出され、復帰となる。 In step 1408, Load method of linking interface is called, returns.【００３９】 [0039]図１５は、項目モニカを典型的に具現化するＢｉｎｄＴｏＯｂｊｅｃｔ方法のフローチャートである。 Figure 15 is a flow chart of the BindToObject method for typically embody item moniker.上記の例では、ＷＩｔｅｍＭｏｎｉｋｅｒ及びＳＩｔｅｍＭｏｎｉｋｅｒの両方が同様の具現構成である。 In the above example, the same implementation structure both WItemMoniker and SItemMoniker.この方法は、プレフィックスモニカのインターフェイスオブジェクトを使用し、そのＧｅｔＯｂｊｅｃｔ方法を呼び出す。 This method uses a prefix moniker of interface objects, call the GetObject method.このＧｅｔＯｂｊｅｃｔ方法は、ＩｔｅｍＭｏｎｉｋｅｒによって指示されたオブジェクトの例を探索してそれに結び付ける。 The GetObject method ties it to explore an example of an object indicated by ItemMoniker.この方法は、一般的な合成モニカのＢｉｎｄＴｏＯｂｊｅｃｔ方法に通された同じ６つのパラメータを利用する。 The method utilizes a general synthetic same six parameters passed to the BindToObject method of Monica.ステップ１５０１では、結び付けのためにオブジェクトが通されたかどうか判断する。 In step 1501, the object for linking it is determined whether or not threaded.もしそうであれば、この方法はステップ１５０２へと続き、さもなくば、ステップ１５０３へと続く。 If this is the case, the method continues to step 1502, otherwise it continues to step 1503.ステップ１５０２では、その通されたインターフェイスのＧｅｔＯｂｊｅｃｔ方法が呼び出され、項目モニカによって指示されたオブジェクトが例示され、復帰となる。 In step 1502, the GetObject method of the threaded interface is called, it is exemplified object indicated by the item moniker, returns.ステップ１５０３では、プレフィックスモニカがＮＵＬＬでない場合、この方法はステップ１５０４へ続き、さもなくば、復帰となる。 In step 1503, if the prefix moniker is not NULL, the method continues to step 1504, otherwise, returns.ステップ１５０４では、レフィックスモニカのＢｉｎｄＴｏＯｂｊｅｃｔ方法が呼び出され、ＩＣｏｎｔａｉｎｅｒインターフェイスが要求される。 In step 1504, BindToObject method prefix moniker is invoked, IContainer interface is required.ステップ１５０５では、その要求されたＩＣｏｎｔａｉｎｅｒインターフェイスのＧｅｔＯｂｊｅｃｔ方法が呼び出される。 In step 1505, GetObject method of the requested IContainer interface is invoked.【００４０】 [0040]図１６は、ＷＩｔｅｍＭｏｎｉｋｅｒを典型的に具現化するＢｉｎｄＴｏＳｔｏｒａｇｅ方法のフローチャートである。 Figure 16 is a flow chart of BindToStorage methods that typically embody WItemMoniker.この方法は、そのプレフィックスのＢｉｎｄＴｏＳｔｏｒａｇｅ方法を呼び出し、そしてプレフィックスに対する記憶ハンドルを得たときに、指定されたモニカに関連した記憶を得る。 This method calls the BindToStorage method of the prefix, and when obtaining the storage handle for the prefix, to obtain a memory associated with the specified moniker.ステップ１６０１では、その通されたプレフィックスがＮＵＬＬであるかどうか判断し、もしそうであれば、この方法は復帰となり、さもなくば、ステップ１６０２へ続く。 In step 1601, it is determined whether the threaded prefix is ​​NULL, and if so, the method becomes return, else continues to step 1602.ステップ１６０２では、プレフィックスモニカのＢｉｎｄＴｏＳｔｏｒａｇｅ方法が呼び出され、その要求されたインターフェイスを通すようにする。 In step 1602, BindToStorage method prefix moniker is invoked, so that passing the requested interface.ステップ１６０３では、ステップ１６０２で返送された記憶のＧｅｔＳｔｏｒａｇｅ方法が呼び出され、現在ＷｉｔｅｍＭｏｎｉｋｅｒに指定されたオブジェクトに対する独特の識別子が通される。 In step 1603, GetStorage method of the returned stored in step 1602 is invoked, a unique identifier for the object specified in the current WitemMoniker is passed.次いで、この方法は復帰となる。 The method then returns.【００４１】 [0041]図１７は、ＧｅｎｅｒｉｃＣｏｍｐｏｓｉｔｅＭｏｎｉｋｅｒインターフェイスの減少方法を示す全体的なフローチャートである。 Figure 17 is an overall flowchart illustrating a method of reducing GenericCompositeMoniker interface.このルーチンは、各成分モニカの減少方法を呼び出すことにより各成分モニカを減少しようと試み、そして成分の減少された新たなＧｅｎｅｒｉｃＣｏｍｐｏｓｉｔｅＭｏｎｉｋｅｒを構成する。 This routine attempts to reduce each component moniker by calling the reduce method of each component moniker and constituting the reduced new GenericCompositeMoniker components.この方法は、３つのパラメータ、即ち結び付けコンテクストのポインタと、プレフィックスモニカと、減少したモニカに対する出力パラメータとを利用する。 This method has three parameters, namely a pointer context tied, and the prefix moniker, utilizing an output parameter for the reduced moniker.ステップ１７０１において、この方法は、指定されたモニカを構成する成分モニカのリンクされたリストにおける第１エレメントを見つける。 In step 1701, the method finds the first element in the component moniker linked list which make up the specified moniker.ステップ１７０２ないし１７０９において、この方法は、各成分モニカの減少方法を繰り返し呼び出しそして成分の減少された新たな合成モニカを発生する。 In step 1702 through 1709, the method generates a reduced novo synthesis moniker calls and component repeated reduction method for each component moniker.ステップ１７０２において、リンクされたリストの全てのエレメントが処理された場合に、この方法はステップ１７０３へと続き、さもなくば、ステップ１７０４へと続く。 In step 1702, if all the elements of the linked list has been processed, the method continues to step 1703, else continues at step 1704.ステップ１７０３において、出力パラメータを新たな減少された合成モニカにセットし、そして復帰となる。 In step 1703, it sets the output parameter to the new reduced composite moniker and returns.ステップ１７０４では、変数Ｍ Ｅｌｅｍｅｎｔによって指示されたモニカ成分の減少方法を呼び出し、結び付けコンテクスト及びプレフィックスモニカのポインタに沿って通すようにする。 In step 1704, it calls a method of reducing moniker component indicated by the variable M Element, so that pass along the bound context and the prefix moniker pointer.プレフィックスモニカは、それまでに形成された新たな合成モニカに対応する。 Prefix moniker corresponds to the new synthetic moniker formed so far.ステップ１７０５において、プレフィックスモニカを指す変数がＮＵＬＬであることがこの方法により決定されると、ステップ１７０６へ続き、さもなくば、ステップ１７０７へ続く。 In step 1705, when it is determined by this method variable pointing to the prefix moniker is NULL, continues at step 1706, else continues to step 1707.ステップ１７０６において、プレフィックスモニカを指す変数がＮＵＬＬを指す場合（ループを最初に通るときに生じる）には、これがステップ１７０４において返送された減少された成分モニカにセットされ、そしてこの方法はステップ１７０９に続く。 In step 1706, if the variable pointing to the prefix moniker points to NULL (occurs when the first through the loop), which is set to reduced component moniker is returned in step 1704, and the method in step 1709 Continue.ステップ１７０７において、プレフィックスモニカを指す変数がＮＵＬＬでない場合には、プレフィックスモニカのＣｏｍｐｏｓｅＷｉｔｈ方法を呼び出し、ステップ１７０４で返送された新たな減少されたモニカをプレフィックスと合成する。 In step 1707, the variable pointing to the prefix moniker is if not NULL, call ComposeWith method prefix moniker, is combined with the new reduced moniker prefix sent back in step 1704.ステップ１７０８において、プレフィックスモニカを指す変数は、行われた全てのモニカ減少を含む新たな合成された結果にリセットされる。 In step 1708, the variable pointing to the prefix moniker is reset to the result a new synthetic including all Monica reduced performed.ステップ１７０９において、変数Ｍ Ｅｌｅｍｅｎｔは、成分モニカのリンクされたリストの次のエレメントに進められ、そしてこの方法はステップ１７０２においてループの上部へ復帰する。 In step 1709, the variable M Element is advanced to the next element of the component moniker in the linked list, and the method returns to the top of the loop at step 1702.【００４２】 [0042]図１８は、ＦｉｌｅＭｏｎｉｋｅｒを典型的に具現化する減少方法のフローチャートである。 Figure 18 is a flow chart of a reduction process that typically embody FileMoniker.この減少方法は、通されたプレフィックスモニカを探し、そしてそのプレフィックスモニカの最後の成分が別のファイルモニカであるかどうかを判断する。 This reduction method is looking for a threaded prefix moniker, and determines whether that prefix or last component moniker is another file moniker.別のファイルモニカである場合は、２つのＦｉｌｅＭｏｎｉｋｅｒを１つに結合したものである新たな合成ＦｉｌｅＭｏｎｉｋｅｒを返送する。 If another file moniker returns a new synthetic FileMoniker is obtained by combining two FileMoniker into one.又、通されたプレフィックスから消費されたファイルモニカを除去する。 Also, to remove the file moniker is consumed from threaded prefix.この機能は３つのパラメータ、即ち結び付けコンテクストのポインタと、プレフィックスモニカのポインタと、新たに減少されたモニカが返送される場合の出力パラメータとを利用する。 This feature three parameters, i.e. the pointer context tied, and the prefix moniker pointer, utilizing an output parameter when the newly reduced moniker is returned.ステップ１８０１において、この機能は、通されたプレフィックスモニカを検査して、それがＮＵＬＬであるかどうかを調べる。 In step 1801, the function checks the threaded prefix moniker to see if it is NULL.もしそうであれば、この機能は復帰となり、さもなくば、ステップ１８０２へ続く。 If so, this feature will return, otherwise, it continues to step 1802.ステップ１８０２において、この機能はプレフィックスモニカを探してそれが一般的な合成モニカであるかどうかを調べる。 In step 1802, this feature it looking the prefix moniker determine whether a general synthetic moniker.もしそうであれば、機能はステップ１８０４へ続き、さもなくば、ステップ１８０３へ続く。 If so, the function continues to step 1804, otherwise, it continues to step 1803.ステップ１８０３において、この機能は、プレフィックスが単純なモニカであるので最後のエレメントをプレフィックスモニカにセットし、ステップ１８０５へと続く。 In step 1803, the function is a prefix is ​​set to the prefix moniker the last element since it is simple moniker and continues to step 1805.ステップ１８０４において、レフィックスモニカのＦｉｎｄＬａｓｔＥｌｔ方法を呼び出し、プレフィックス合成モニカの最後のエレメントを得る。 In step 1804, it calls the FindLastElt method prefix moniker to obtain the last element prefix synthesis moniker.ステップ１８０５では、最後のエレメントのＣＬＡＳＳ ＩＤがチェックされて、それがファイルモニカであるかどうか調べられる。 In step 1805, is checked CLASS ID of the last element, it is examined to see if it is a file moniker.もしそうでなければ、この機能はステップ１８０６へ続き、さもなくば、ステップ１８０７へ続く。 If not, this function continues to step 1806, otherwise, it continues to step 1807.ステップ１８０６では、減少が生じていないので、出力パラメータをそれ自身へセットし、復帰となる。 In step 1806, the reduction does not occur, then set the output parameter to itself, returns.ステップ１８０７では、このモニカに関連したファイル名を、最後のエレメントによって指示されたモニカのファイル名に添付する。 In step 1807, attach the file name associated with this moniker to the moniker of the file name designated by the last element.次いで、ステップ１８０８において、この新たなファイル名ストリングでそれ自身の形成方法を呼び出す。 Then, in step 1808, it calls its own forming method in this new file name string.ステップ１８０９において、プレフィックスを、プレフィックスから最後のエレメントを引いたものに等しくセットするか、又はプレフィックスが合成モニカでなかった場合にはＮＵＬＬにセットする。 In step 1809, prefix, or set equal to minus the last element from the prefix or the prefix is ​​set to NULL if not a synthetic moniker.ステップ１８１０において、新たに減少されたモニカに対応する出力パラメータを、ステップ１８０８で形成されたモニカにセットし、そしてこの機能は復帰となる。 In step 1810, the output parameter corresponding to the newly reduced moniker, sets the moniker that is formed in step 1808, and this function returns.【００４３】 [0043]図１９及び２０は、ワードプロセス項目モニカＷＩｔｅｍＭｏｎｉｋｅｒを典型的に具現化する減少方法の全体的なフローチャートである。 19 and 20 is an overall flowchart of reduction methods that typically embody word processing item moniker WItemMoniker.このルーチンは、モニカの特殊な種類である記憶モニカを返送し、これは、オブジェクト結び付け方法によって使用されて、埋め込まれたオブジェクトのサーバを直接呼び出し、ワードプロセスアプリケーションの呼び出しをバイパスできるようにする。 This routine returns the memory moniker is a special kind of moniker, which is used by the object linking method, calls the server of the embedded object directly, to be able to bypass the call to word processing applications.これは、ワードプロセス文書内に含まれた特殊オブジェクトテーブルを探して、埋め込まれたオブジェクトに対する適当な記憶ポインタを見つけることにより行われる。 This look for special object table contained in a word processing document, performed by finding the appropriate storage pointer for the embedded object.この記憶ポインタは、次いで、記憶モニカに合成され、 そのオブジェクト結び付け方法が呼び出されるときに 、どのサーバを呼び出すかを決めることができる。 This storage pointer is then synthesized in a storage moniker, when the object linking method is invoked, it is possible to determine call which server.このルーチンは、３つのパラメータ、即ち結び付けコンテクストのポインタと、プレフィックスモニカと、新たに減少されたモニカを含む出力パラメータとを利用する。 This routine, three parameters, i.e., the pointer context tied, and the prefix moniker, utilizing the output parameters including newly reduced moniker.ステップ１９０１では、この方法は、プレフィックスがＮＵＬＬであるかどうか調べ、もしそうであれば、復帰となるが、さもなくばステップ１９０２へと続く。 In step 1901, this method is, the prefix is ​​checked whether it is NULL, and if so, becomes a return, continues to step 1902 otherwise.ステップ１９０２では、この方法は、プレフィックスが一般的な合成モニカであるかどうか調べ、もしそうであれば、ステップ１９０３へ続き、さもなくば、ステップ１９０４へ続く。 In step 1902, the method prefix checked whether general synthesis moniker, if so, continues at step 1903, else continues to step 1904.ステップ１９０３では、プレフィックスモニカの ＦｉｎｄＬａｓｔＥｌｔ方法を呼び出して、リンクされたリストにおける最終モニカのポインタを得る。 In step 1903, by calling FindLastElt method prefix moniker to obtain the final moniker pointer in the linked list.次いで、ステップ１９０５へと続く。 Then, it continues to step 1905.ステップ１９０４において、最終エレメントポインタをプレフィックスにセットする。 In step 1904, it sets the final element pointer to the prefix.というのは、これが合成モニカでないからである。 This is because, since this is not a synthetic Monica.ステップ１９０５では、最終エレメントのＣＬＡＳＳ ＩＤを探し、それがファイルモニカであるかどうか調べる。 In step 1905, looking for the CLASS ID of the final element, it is checked whether a file moniker.もしそうでなければ、この機能はステップ１９０６へ続き、さもなくば、ステップ１９０７へ続く。 If not, this function continues to step 1906, otherwise, it continues to step 1907.ステップ１９０６では、単にそれ自身を出力パラメータにおいて返送する。 In step 1906, simply returned in the output parameter itself.というのは、減少が行われたと考えられないからである。 Because, since not considered reductions were made.ステップ１９０７では、ファイルの拡張を探すが、これは、ファイルがワードプロセスアプリケーションに属しているかどうかを判断することであると分かる。 In step 1907, the search for an extension of the file, this is seen as the file is to determine whether it belongs to the word processing application.ファイルが未知の形式のものであると判断されると、この機能はステップ１９０６へ続き、さもなくば、ステップ１９０８へ続く。 When a file is determined to be of unknown type, this function continues at step 1906, else continues to step 1908.ステップ１９０８では、最終エレメントポインタによって指示されたモニカのＧｅｔＵｓｅｒ方法が呼び出され、プレフィックスをもつ最終エレメントのファイル名を得る。 In step 1908, Monica GetUser method indicated by the last element pointer is called to obtain the filename of the last element with prefix.ステップ１９０９において、このようにして得たファイル名でオブジェクトテーブル内の既知の位置を探し、現在モニカに対応するエントリーを見つける。 In step 1909, looking for a known position in the object table with the file name thus obtained, find the current entry corresponding to the moniker.テーブル内のエレメントは、３つのタプル（ＷＩｔｅｍＭｏｎｉｋｅｒ、ＩＳｔｏｒａｇｅ、ＵｓｅｒＮａｍｅ）の形態である。 Elements in the table is in the form of 3-tuples (WItemMoniker, IStorage, UserName).このテーブルから、記憶ポインタと、形成される新たなモニカのユーザ名とを得る。 From this table, obtaining a stored pointer, and a new moniker username formed.次いで、ステップ１９１０において、プレフィックスの最終エレメントのファイル名のユーザ名を、得られたこの新たな名称に添付する。 Then, attach in step 1910, the user name of the file name of the last element of the prefix, the resulting the new name.ステップ１９１１では、記憶ポインタ及び新たな名称をもつ新たなＩＳｔｏｒａｇｅモニカを形成する。 In step 1911, to form a new IStorage moniker with the storage pointer and the new name.ステップ１８１２では、プレフィックスが、プレフィックスから最終エレメントを引いた残りにセットされる。 In step 1812, the prefix is ​​set to the remainder obtained by subtracting the final element from the prefix.最後に、ステップ１９１３において、出力パラメータがこのように形成された新たなＩＳｔｏｒａｇｅモニカにセットされ、これで機能は復帰となる。 Finally, in step 1913, the output parameter is set to such new IStorage moniker formed, this in function returns.【００４４】 [0044]図２１は、機能ＭｋＰａｒｓｅＵｓｅｒＮａｍｅの全体的なフローチャートである。 Figure 21 is an overall flow chart of functions MkParseUserName.この機能はストリング名を利用し、それに対応するモニカを返送する。 This function uses the string name, and returns a moniker that corresponds to it.この返送されるモニカは、合成モニカである。 Moniker this return is a synthetic moniker.ステップ２００１において、この機能はストリングを分解して正当なファイル名を見つける。 In step 2001, this function will find a valid file name to decompose the string.ステップ２００２において、このファイル名のファイルモニカを形成し、それを変数ｐｆｍにセーブする。 In step 2002, to form a file moniker of the file name, and save it to a variable pfm.ステップ２００３では、残りのストリングを、分解した最初のストリングから消費された文字を引いたものにセットする。 In step 2003, it is set to what the rest of the string, minus the character that has been consumed from the first string, which was decomposed.最後に、ステップ２００４において、ｐｆｍにより指示されたファイルモニカに対するＰａｒｓｅＵｓｅｒＮａｍｅ方法を呼び出し、残っているストリングと、返送モニカのアドレスとを通すようにする。 Finally, in step 2004, it calls the ParseUserName method for the file moniker designated by pfm, the remaining string, so that through the address of the return moniker.ファイルモニカのＰａｒｓｅＵｓｅｒＮａｍｅ方法がいったん返送されると、ストリングの残りが分解される。 When the ParseUserName method of file moniker is once returned, the rest of the string is decomposed.次いで、この機能は復帰となる。 Then, this function returns.【００４５】 [0045]図２２は、ファイルモニカを典型的に具現化するＰａｒｓｅＵｓｅｒＮａｍｅ方法の全体的なフローチャートである。 Figure 22 is an overall flowchart of ParseUserName methods that typically embody file moniker.この方法は、これが含むことのできるオブジェクトの種類が分からないので、ストリングの次の部分を分解するためにファイル名によって指示されたオブジェクトに結び付ける必要があるかどうかを判断しなければならない。 This method, since this is not known types of objects that may be included, must determine whether it is necessary to link the indicated object by file name in order to decompose the next part of the string.この方法は、４つのパラメータ、即ちＢｉｎｄＣｏｎｔｅｘｔへのポインタ 、プレフィックスモニカのポインタ、分解されるべき残りのストリング名、及び得られるモニカのポインタを利用する。 This method, four parameters, i.e. a pointer to BindContext, the prefix moniker pointer, utilizing the remaining string name to be resolved, and the moniker pointer obtained.ステップ２１０１では、この方法は、このファイルに含まれたオブジェクトの構文を理解できるかどうか判断する。 In step 2101, the method determines whether understand the syntax of the objects contained in the file.もしできれば、ステップ２１０２へ続き、さもなくば、ステップ２１０３へ続く。 If possible if, continues to step 2102, otherwise, continues to step 2103.ステップ２１０２では、内部分解ストリングルーチンを呼び出し、分解することのできたストリングの部分に対するモニカを形成する。 In step 2102, it calls the internal disintegration string routine, to form a moniker for the portion of the can string of the decomposition.次いで、ステップ２１０５へと続く。 Then, it continues to step 2105.ステップ２１０３において、この方法は、それ自体のＢｉｎｄＴｏＯｂｊｅｃｔを呼び出し、ＰａｕｓｅＵｓｅｒＮａｍｅ方法に通されたプレフィックスを通すようにする。 In step 2103, the method invokes the BindToObject itself, to pass a prefix passed in PauseUserName method.次いで、ステップ２１０４において、結び付けられたオブジェクトのＰａｕｓｅＵｓｅｒＮａｍｅ方法を呼び出し、プレフィックスと、分解されるべき残りのユーザストリングとを通すようにする。 Then, in step 2104, it calls the PauseUserName method tied objects, so that through the prefix, and the remaining user string to be degraded.最後に、ステップ２１０５において、プレフィックスのＣｏｍｐｏｓｅＷｉｔｈ方法が呼び出されて、新たに形成されたモニカを追加する。 Finally, in step 2105, the ComposeWith method prefix is ​​called to add the newly formed moniker.これで、この機能は復帰となる。 Now, this function will be restored.【００４６】 [0046]以上、本発明の好ましい実施例について説明したが、本発明はこれに限定されるものではない。 Having described preferred embodiments of the present invention, the present invention is not limited thereto.当業者であれば、本発明の範囲内で種々の変更がなされ得ることが明らかであろう。 Those skilled in the art it will be apparent that various modifications may be made within the scope of the present invention.従って、本発明は特許請求の範囲のみによって限定されるものとする。 Accordingly, the present invention is to be limited only by the appended claims.【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS【図１】複合文書の例を示す図である。 1 is a diagram showing an example of a compound document.【図２】スケジュールデータ、予算データ及び説明データを複合文書にいかに合体するかを示す図である。 [Figure 2] schedule data, budget data and description data is a diagram showing how to coalesce into a composite document.【図３】リンクされたオブジェクトとそのソースとの関係の一例を示す図である。 3 is a diagram showing an example of the relationship between linked objects and their source.【図４】オブジェクトのサンプル例を示すブロック図である。 4 is a block diagram showing an example example of an object.【図５】オブジェクトのパブリックビューを示すブロック図である。 5 is a block diagram showing a public view of an object.【図６】ＩＭｏｎｉｋｅｒインターフェイスの典型例を示すブロック図である。 6 is a block diagram showing a typical example of IMoniker interface.【図７】図３のエグゼクティブサマリー複合文書に記憶されるモニカを示すブロック図である。 7 is a block diagram showing the moniker that is stored in the executive summary compound document of Figure 3.【図８】典型的な合成モニカオブジェクトデータ構造体を示すブロック図である。 8 is a block diagram showing a typical synthesis moniker object data structure.【図９】一般的な合成モニカ方法ＣｏｍｐｏｓｅＷｉｔｈの具現化を示すフローチャートである。 9 is a flow chart showing the implementation of the general synthetic moniker method ComposeWith.【図１０】機能ＭｋＣｒｅａｔｅＧｅｎｅｒｉｃＣｏｍｐｏｓｉｔｅを示すフローチャートである。 10 is a flowchart illustrating a function MkCreateGenericComposite.【図１１】２つのモニカを形成するＦｉｎｄＬａｓｔＥｌｔ方法の典型的な具現化を示すフローチャートである。 11 is a flowchart illustrating an exemplary implementation of the FindLastElt method of forming a two monikers.【図１２】ＦｉｎｄＦｉｒｓｔＥｌｔ方法の典型的な具現化を示したフローチャートである。 12 is a flowchart showing a typical implementation of the FindFirstElt methods.【図１３】ＢｉｎｄＴｏＯｂｊｅｃｔ方法の典型的な具現化を示したフローチャートである。 13 is a flowchart showing a typical implementation of the BindToObject method.【図１４】ファイルモニカを典型的に具現化するＢｉｎｄＴｏＯｂｊｅｃｔ方法のフローチャートである。 14 is a flowchart of BindToObject methods that typically embody file moniker.【図１５】項目モニカを典型的に具現化するＢｉｎｄＴｏＯｂｊｅｃｔ方法のフローチャートである。 15 is a flowchart of BindToObject methods that typically embody item moniker.【図１６】ＷＩｔｅｍＭｏｎｉｋｅｒを典型的に具現化するＢｉｎｄＴｏＳｔｏｒａｇｅ方法を示すフローチャートである。 16 is a flowchart illustrating a BindToStorage method that typically embody WItemMoniker.【図１７】一般的な合成モニカインターフェイスの減少方法を示す全体的なフローチャートである。 17 is a general flowchart of a method of reducing general synthetic moniker interface.【図１８】ファイルモニカを典型的に具現化する減少方法の全フローチャートである。 18 is a whole flowchart of a process for reducing the typically embody file moniker.【図１９】ワードプロセス項目モニカＷＩｔｅｍＭｏｎｉｋｅｒを典型的に実施する減少方法のフローチャートである。 19 is a flow chart of a reduction process that typically implement word processing item moniker WItemMoniker.【図２０】ワードプロセス項目モニカＷＩｔｅｍＭｏｎｉｋｅｒを典型的に実施する減少方法の続きのフローチャートである。 20 is a flowchart of a continuation of the reduction methods that typically implement word processing item moniker WItemMoniker.【図２１】機能ＭｋＰａｒｓｅＵｓｅｒＮａｍｅの全体的なフローチャートである。 21 is a general flow chart of functions MkParseUserName.【図２２】ファイルモニカを典型的に具現化するＰａｒｓｅＵｓｅｒＮａｍｅ方法の全体的なフローチャートである。 FIG. 22 is a general flowchart of ParseUserName methods that typically embody file moniker.【図２３】リンクされたオブジェクトを示す図である。 FIG. 23 is a diagram showing the linked object.【符号の説明】 DESCRIPTION OF SYMBOLS１０１ 複合文書１０２ スケジュールデータ１０３ 予算データ１０４ 説明データ２０１ プロジェクト管理プログラム２０３ クリップボード２０４ スプレッドシートプログラム２０６ ワードプロセスプログラム３０１ 週ごとのプロジェクトレポート３０２ 埋め込まれたスプレッドシート３０３ エグゼクティブサマリー文書３０４ ネーティブテキスト３０５ 予算チャート 101 compound document 102 schedule data 103 budget data 104 described data 201 project management program 203 clipboard 204 spreadsheet program 206 the word processing program spreadsheet 303 embedded project report 302 per 301 weeks Executive summary document 304 native text 305 budget chart

Claims (17)

Translated from Japanese

第１の複合文書から第２の文書内のデータへリンクするための、コンピュータシステムにおける方法であって、 For linking the first compound document to data in the second document, a method in a computer system,前記第２の文書内の前記データに結び付けるための結び付けメソッドを提供する第１のオブジェクトをインスタンス生成するステップ、 The first step of the object to the instantiation of providing tied methods for linking the data of the second document,前記第１のオブジェクトの結び付けメソッドの呼出しによって、前記第２の文書内のデータへの結び付けをさせるステップと、 By calling the bound method of the first object, the step of the tie to the data of the second document,前記第１の文書内の前記第１のオブジェクトを記憶するステップを含むことを特徴とする方法。 Method characterized by comprising storing the first object in the first document.

前記記憶するステップが、前記第２の文書内の前記データを特定する情報とともに前記第１のオブジェクトのクラスタイプを記憶することを含むことを特徴とする請求項１に記載の方法。 The method of claim 1, wherein the storing steps, characterized in that it comprises storing the class type of the first object with information identifying the data of the second document.

前記第１のオブジェクトが、前記第２の文書内の前記データを特定する情報を記憶し、前記情報がファイル名，あるいは前記データを含むファイルの部分，を指す請求項１に記載の方法。 Said first object, the second of said data storing information for identifying the document, The method of claim 1, wherein the information refers to a portion, of the file containing the file name, or the data.

前記第１のオブジェクトが、複数の成分オブジェクト(component object)を含む複合オブジェクトであり、当該複数の成分ブジェクトの各々が、前記データを特定する情報の少なくとも一部分を記憶する、請求項１に記載の方法。 The first object is a composite object comprising a plurality of component objects (component object), each of the plurality of component objects are stored at least a portion of the information identifying the data, according to claim 1 Method.

前記第１のオブジェクトが更に、減少メソッドを提供する、請求項１に記載の方法であって、前記減少メソッドの呼出しによって、減少されたオブジェクトを返送するようにさせる、方法。 The first object is further to provide a reduction method, a method according to claim 1, by calling the reduce method causes to return the reduced object, method.

前記第１のオブジェクトが更に、合成メソッド（compose method）を提供する請求項１に記載の方法であって、 The first object is further directed to a method according to claim 1 to provide a synthesis method (compose method),合成メソッドの呼出しによって、複合オブジェクト（composite object）がインスタンス生成されるようにさせる、方法。 By calling the synthesis method, it causes the composite object (composite object) is instantiated, methods.

第１の複合文書を第２の文書内のデータにリンクするための、コンピュータシステムにおける方法であって、 For linking the first compound document to data in the second document, a method in a computer system,前記第２の文書内のデータに結び付けるための結び付けメソッドを提供する第１のオブジェクトをインスタンス生成するステップであって、当該第１のオブジェクトが、前記第２の文書内のデータを特定する情報を記憶するものであり、 前記第１の複合文書が当該第１のオブジェクトを記憶するものであり、 A first object comprising the steps of generating instance providing a linking methods for linking the data of the second document, the first object, the information for identifying the data of the second document is intended to store, which the first compound document and stores the first object,前記第２の文書内のデータに結び付けるために、前記第１のオブジェクトの前記結び付けメソッドを呼び出すステップ、 To tie the data of the second document, the step of invoking the linking method of the first object,を含む方法。 The method comprising.

前記結び付けメソッドが、 The associated method,ランニング・オブジェクト・テーブル内で、前記第２の文書内の前記データのためのサーバ・オブジェクトを探索(locate)し、そして、 In the running object table, the server object for the data of the second document searching (The locate), and,クライアント・オブジェクトに、前記サーバ・オブジェクトにポイントするポインタを返送する、The client object and returns a pointer to point to the server object,ステップを含む、請求項７に記載の方法。 Comprising the step method of claim 7.

前記結び付けメソッドが、 The associated method,前記第２の文書内の前記データのためのサーバ・オブジェクトをインスタンス生成し、そして、 A server object for the data of the second document is instantiated and,クライアント・オブジェクトに、前記サーバ・オブジェクトにポイントするポインタを返送する、The client object and returns a pointer to point to the server object,ステップを含む、請求項７に記載の方法。 Comprising the step method of claim 7.

前記結び付けメソッドが、 The associated method,前記第２の文書内の前記データのためのサーバ・オブジェクトをインスタンス生成し、 A server object for the data of the second document is instantiated,前記第２の文書内の前記データをローディングし、そして、 Loading the data of the second document, and,クライアント・オブジェクトに、前記サーバ・オブジェクトにポイントするポインタを返送する、The client object andreturnsa pointer to point to the server object,ステップを含む、請求項７に記載の方法。 Comprising the step method of claim 7.

前記第１のオブジェクトが、第１のおよび第２の成分オブジェクトを持つ複合オブジェクトであり、 The first object is a composite object with a first and second component object,前記第１のオブジェクトの前記結び付けメソッドの呼出しが、前記第１の成分オブジェクト(component object)の結び付けメソッドの呼出しを引き起こし、これが、前記第２の成分メソッドの結び付けメソッドの呼出しを引き起こす、 It calls the bound method of the first object causes a call linking method of the first component object (component object), which causes a call linking method of the second component methods,請求項７に記載の方法。 The method of claim 7.

前記第１のオブジェクトを、前記第１の文書の一部分として永続記憶装置内に記憶するステップを更に含む、請求項７に記載の方法。 Wherein the first object, further comprising the step of storing in persistent storage as part of the first document, the method according to claim 7.

前記インスタンス生成の前に、前記第２の文書内の前記データのためにストリング名を分解するステップを更に含む、請求項７に記載の方法。 Wherein prior to instantiation, further comprising the step of decomposing a string name for the data of the second document, The method of claim 7.

第１の、複合文書から、第２の文書内のデータにリンクするための、コンピュータシステムにおける方法であって、 First, the compound document, to link the data in the second document, a method in a computer system,減少メソッドを提供するオブジェクトをインスタンス生成するステップであって、当該オブジェクトが、前記第２の文書内の前記データを特定する情報を記憶するものであり、 前記第１の、複合文書が、当該オブジェクトを記憶するものであり、および、 The object of providing a reduction method comprising: generating an instance, the object is, which stores information for specifying the data of the second document, the first, the composite document, the object It is intended to store, and,減少されたオブジェクトを生成するために前記減少メソッドを呼び出すステップであって、当該減少されたオブジェクトが、前記第２の文書内の前記データを特定する減少された情報を記憶するものである、 A step of invoking the reduction method to generate a reduced object, in which the reduced object, stores the reduced information identifying the data of the second document,を含む方法。 The method comprising.

前記減少オブジェクトについて、それ以上の減少が不可能となるまで前記減少を反復するステップを更に含む、請求項１４に記載の方法。 For the reduction object, further comprising the method of claim 14 the step of repeating the decrease until the impossible more reduced.

前記減少オブジェクトについて、一定の回数だけ、前記減少を反復するステップを更に含む、請求項１４に記載の方法。 For the reduction object, a fixed number of times, further comprising the step of repeating the reduction method of claim 14.

第１の、複合文書から、第２の文書内のデータにリンクするためのコンピュータ・システムにおける方法であって、 First, the compound document, a method in a computer system for linking the data in the second document,合成メソッド(compose method)を提供する第１のオブジェクトをインスタンス生成するステップであって、 前記第１の複合文書が第１のオブジェクトを記憶するものであり、当該第１のオブジェクトが前記第２の文書内の第１のデータを指定する第１の情報を記憶するものであり、 A first step of an object to an instance generation to provide synthetic methods (compose method), the first compound document is one that stores a first object, the first object is the second is intended to store the first information that specifies the first data in the document,第２のオブジェクトをインスタンス生成するステップであって、 当該第２のオブジェクトが、前記第２の文書内の第２のデータを指定する第２の情報を記憶するものであり、そして、 A second object comprising the steps of generating instance, the second object is intended to store the second information specifying the second data of the second document, and,複合オブジェクトをインスタンス生成するために前記合成メソッドを呼出すステップであって、 当該呼出しが前記第１の情報を前記第２の情報と結合するものである、 A step of calling the synthetic method to a complex object instantiation, in which the call is coupled to the second information said first information,を含む方法。 The method comprising.

JP16713993A1992-07-061993-07-06 A method and a system to link with the name of the object Expired - LifetimeJP3613401B2
(en)

System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space

Method and apparatus for using classes, encapsulating data with its behaviors, for transferring between databases and client applications and for enabling applications to adapt to specific constraints of the data