2011-01-28 7 views
2

私は、この言葉の多くの言及をウェブ上、特にマイクロソフトのMSDNウェブサイト、そしてそのような言語のリストさえ見つけました。しかし、私はこの用語の定義を見つけることができません。 (COMインターフェイスが実装されている言語ほどシンプルですか?)「オートメーション互換言語」とは何ですか?

定義へのリンクがわかっていれば教えてください。

ありがとうございました。マイクロソフトWindowsアプリケーション プログラミング、 機構 プロセス間通信である(ちょうど オートメーション、1 [2]古い 用語は、広く普及して残っているが、Microsoftによって改名後 )OLEオートメーション

答えて

1

コンポーネントオブジェクト の使用を想定したモデル(COM) スクリプト言語 - 元は Visual Basic - ただし、Windowsで実行する言語は です。[3]それ 共有オートメーションが他 アプリケーションによってエクスポートされたオブジェクト オートメーションコントローラと呼ば アプリケーションがアクセスして操作 の(すなわち、プロパティを設定するか、上 メソッドを呼び出す)ことができるインフラストラクチャを提供します。あなたがのGUIDとのIUnknownを理解する必要がCOMを理解するために、必需品を露出するためにストリップダウン

From Wikipedia entry

5

。オートメーションに相当するのは、ProgIDとIDispatchです。

ProgIDはCOMコクラスの作成に役立ちます。典型的なProgIDはMicrosoft Word用のprogidである "Word.Automation"です。 HKEY_CLASSES_ROOTのレジストリにリストされています。あなたの言語のヘルパー関数の典型的な名前はCreateObject()です。 ProgID、オプションでマシン名を渡すと、インターフェイス参照が返されます。その後、メソッドの呼び出しやプロパティの取得/設定に使用できます。

言語ランタイムは、IDispatchインターフェイス(IUnknown :: QueryInterfaceで取得)を使用して、COMサーバーによって実装されているメソッドの名前とパラメータを検出します。これは、スクリプト言語がオートメーションを使用する方法であるレイトバインディングと呼ばれています。

  • のIDispatch :: GetTypeInfoCountは()、1を返すサーバは型情報
  • のIDispatch :: GetTypeInfoの()を提供できる場合、タイプセーフな呼び出し
  • を作るために役立つ情報を入力し返します。それだけで4つのメソッドを持っています
  • IDispatch :: GetIDsOfNames()は、ID名を数値にマッピングします。
  • IDispatch :: Invoke()は、番号付きのメソッドまたはプロパティgetter/setterを呼び出します。

これだけです。

+0

ここは、私とは違って、グーグルのエントリを知っている人です。私はあなたに敬意を表する – cuneyt