Share via


スクリプト コンポーネントのしくみ

Windows® スクリプト コンポーネントの技術は、次の 3 つの部分から構成されます。

  • スクリプト コンポーネント ランタイム (Scrobj.dll)。これは、COM の要求をスクリプト コンポーネントに対してディスパッチすることを支援します。COM の用語で表すと、Scrobj.dll はスクリプト コンポーネント用のインプロセス サーバーとして機能します。

  • インターフェイス ハンドラ。これは、特定の COM インターフェイスが実装されているコンパイル済みのコンポーネントです。異なるインターフェイス ハンドラが、特定の種類の COM コンポーネントとして動作します。

    COM オートメーション インターフェイス ハンドラ、ASP インターフェイス ハンドラ、および DHTML Behavior 用のハンドラを含め、一般的に使用されるインターフェイス ハンドラは、スクリプト コンポーネント ランタイムに既に組み込まれています。これら以外のインターフェイス ハンドラは、アドオン コンポーネントとして利用するか、または特定のアプリケーションに埋め込むことができます。

  • 独自に作成したスクリプト コンポーネント ファイル (.wsc ファイル)。スクリプト コンポーネント ファイルは、作成する COM コンポーネントの種類 (つまり、どのようなインターフェイス ハンドラを使用するか) についての情報を格納した XML (Extensible Markup Language) ファイルです。インターフェイス ハンドラによって提供される機能に応じて、それらのインターフェイスを実装するスクリプトを、スクリプト コンポーネントに記述します。

スクリプト コンポーネント ランタイムは、ホスト アプリケーションへのエントリ ポイントとして機能します。IUnknown などの COM 標準インターフェイスのインプリメンテーションを含め、COM の構造体は、さまざまなインターフェイス ハンドラに埋め込まれています。スクリプト コンポーネントには、COM コンポーネントの機能を実装する必要があるスクリプトだけを含めます。

たとえば、最も一般的な種類の COM コンポーネントの 1 つにオートメーション コンポーネントがあります。これは、他のアプリケーションから呼び出すことができるプロパティとメソッドを持つコンポーネントです。この機能を実装するために必要な低レベルの COM インターフェイス (メソッドが呼び出されたときに正しい関数をディスパッチするなど) は、オートメーション インターフェイス ハンドラに組み込まれています。スクリプト コンポーネント ファイルには、公開するプロパティ、メソッド、およびイベントを定義しておきます。ホスト アプリケーションでこれらのプロパティやメソッド、イベントが必要になったとき、オートメーション ハンドラによってそれらが正しく呼び出されます。

参照

スクリプト コンポーネントの紹介 | スクリプト コンポーネントの作成