特定機能を提供するCOMクラスの登録情報をGoogle検索とレジストリ エディターから特定する方法
背景と目的
Windowsの機能をWSH、C#、VBなどから使用するとき、Windowsの提供するCOMクラスの利用が便利な場合があります。COMクラスの呼び出しにはCLSIDまたはCOMクラス識別名が必要になりますが、MSDNからこれらが検索しにくい場合があります。
この文章では、Windows Update Agentに関する情報を提供するクラス(以下、WindowsUpdateAgentInfo COMクラス)をGoogle検索とレジストリエディタから特定する方法を解説します。
方法
WindowsUpdateに関する機能を提供するクラスを特定する方法としてGoogle検索とWindows 10標準のレジストリ エディター(regedit.exe)を使用します。ここでは順に説明します。
WindowsUpdateAgentInfo COMクラスの存在の疑い方
- Google検索で「WindowsUpdate MSDN」を検索
- 検索結果からMSDNの該当するページを開く
- WindowsUpdateに関するAPIリファレンスを開く
- 最初のセクションUsing the Windows Update Agent APIを開く
- WUAのバージョンを確認する方法(Determining the Current Version of WUA)を開く
- リンクとして強調表示されているIWindowsUpdateAgentInfoインターフェイスでバージョン情報を取得できることを確認
- IWindowsUpdateAgentInfoのCOMクラス(WindowsUpdateAgentInfo)の存在を疑う
WindowsUpdateAgentInfo COMクラスの存在の確かめ方
- レジストリ エディター(regedit.exe)を実行
- メニューから編集→検索とクリック
- 「WindowsUpdateAgentInfo」を含むキーまたは値を検索
- {C2E88C2F-6F5B-4AAA-894B-55C847AD3A2D}キー(コンピューター\HKEY_CLASSES_ROOT\CLSID\{C2E88C2F-6F5B-4AAA-894B-55C847AD3A2D})がヒット
- 既定値が"WindowsUpdateAgentInfo Class"で、サブキーにProgID、VersionIndependentProgIDが存在することを確認
- VersionIndependentProgID値の既定値が"Microsoft.Update.AgentInfo"であることを確認
- WindowsUpdateAgentInfo COMクラスの識別名を"Microsoft.Update.AgentInfo"と判断
結果
WindowsUpdateAgentInfo COMクラス
- ProgID(バージョン非依存):"Microsoft.Update.AgentInfo"
- CLSID:"{C2E88C2F-6F5B-4AAA-894B-55C847AD3A2D}"
参考
レジストリ エディターを使用する意味
Windows 10ではWindows全体で共有される多くの情報がレジストリに保存されており、特にCOMに関する情報はほとんどがレジストリのHKEY_CLASSES_ROOT以下に保存されています。レジストリを参照する基本的な方法はレジストリ エディターであるため、基本的にはこれを使用することとなります。なお、便利なフリーソフトウェアも多数あります。
ProgIDの情報を取得
ProgIDはHKEY_CLASSES_ROOTキー以下に登録されるため、レジストリ エディターであればアドレスバーに「コンピューター\HKEY_CLASSES_ROOT\(ProgID)」と入力することでさらなる情報を取得することができます。WindowsUpdateAgentInfo COMクラスの場合は「コンピューター\HKEY_CLASSES_ROOT\Microsoft.Update.AgentInfo」となります。