System.Runtime.InteropServices.Marshal.GetActiveObject メソッド
この記事では、この API のリファレンス ドキュメントへの補足的な解説を提供します。
GetActiveObject は、OLEAUT32.DLLから COM GetActiveObject 関数を公開します。ただし、後者は、このメソッドで想定されるプログラム識別子 () ではなく、クラス識別子 (ProgID
CLSID) を想定しています。 登録されていない ProgID
COM オブジェクトの実行中のインスタンスを取得するには、プラットフォーム呼び出しを使用して COM GetActiveObject 関数を定義します。 プラットフォーム呼び出しの詳細については、「アンマネージ DLL 関数の使用」を参照してください。
ProgID と CLSID
レジストリのHKEY_CLASStandard EditionS_ROOT サブツリー内のキーには、さまざまなサブキーの種類が含まれています。 ほとんどのサブキーは ProgID であり、わかりやすい文字列を CLSID にマップします。 アプリケーションでは、多くの場合、数値の CLSID ではなく、人間が判読できる文字列を使用します。 多くの場合、コンポーネントにはバージョンに依存しない ProgID があり、システムにインストールされている最新バージョンのコンポーネントにマップされます。
アプリケーションとコンポーネントは、主に ProgID を使用して対応する CLSID を取得します。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET