次の方法で共有


System.Runtime.InteropServices.Marshal.GetActiveObject メソッド

この記事では、この API のリファレンス ドキュメントに補足的な解説を提供します。

GetActiveObject OLEAUT32.DLLから COM GetActiveObject 関数を公開します。ただし、後者では、このメソッドで想定されるプログラム識別子 (ProgID) ではなく、クラス識別子 (CLSID) が必要です。 登録された ProgIDを持たない COM オブジェクトの実行中のインスタンスを取得するには、プラットフォーム呼び出しを使用して COM GetActiveObject 関数を定義します。 プラットフォーム呼び出しの詳細については、「 アンマネージ DLL 関数の使用」を参照してください。

ProgID と CLSID

レジストリのHKEY_CLASSES_ROOT サブツリー内のキーには、さまざまなサブキーの種類が含まれています。 ほとんどのサブキーは ProgID であり、わかりやすい文字列を CLSID にマップします。 アプリケーションでは、多くの場合、数値の CLSID ではなく、人間が判読できる文字列を使用します。 多くの場合、コンポーネントにはバージョンに依存しない ProgID があり、システムにインストールされている最新バージョンのコンポーネントにマップされます。

アプリケーションとコンポーネントは、主に ProgID を使用して対応する CLSID を取得します。