\r\n\r\n
タスクマネージャーを開くと、Windows PC上で1つまたは複数の「COM Agent」プロセスが実行されていることが確認できます。これらのプロセスは、Process Spaceというファイル名で、Windowsオペレーティングシステムの一部となっています。Windows 10、Windows 8、Windows 7、さらに以前のバージョンのWindowsで見ることができます。
関連:このプロセスは何ですか、なぜ私のコンピューターで実行されているのですか?
この記事は、ランタイムエージェント、マスタープロセス、dwm.exeファイル、入力メソッド、rundll32.exe、Adobe_Updater.exeなど、タスクマネージャの各種プロセスについて解説する連載の一部をご紹介します。どのようなサービスかご存じないですか?読み始めた方がいい!?
COMとは、Component Object Modelの略。1993年にマイクロソフト社が発表したインターフェースで、開発者はさまざまなプログラミング言語を使って「COMオブジェクト」を作成することができます。基本的に、これらのCOMオブジェクト**は、他のアプリケーションで使用され、それらを拡張します。
例えば、Windowsのファイルマネージャは、フォルダを開く際に画像などのファイルのサムネイルを作成するためにCOMオブジェクトを使用します。 COMオブジェクトは、画像やビデオなどのファイルを処理してサムネイルを生成します。これにより、例えば、ファイルエクスプローラーの拡張や新しいビデオコーデックのサポートが可能になります。
しかし、これでは問題が発生する可能性があります。COMオブジェクトがクラッシュした場合、そのホストプロセスをシャットダウンします。一時期、これらのサムネイル生成COMオブジェクトがクラッシュして、Windowsエクスプローラのプロセス全体が破壊されることがよくありました。
この種の問題を解決するために、マイクロソフトは、COMオブジェクトを要求した元のプロセスの外側でCOMオブジェクトを実行するCOMプロキシプロセスを作成しました。COMオブジェクトがクラッシュした場合、COMプロキシプロセスがシャットダウンされるだけで、元のホストプロセスはクラッシュしない。例えば、Windows Explorer(現在は File Explorer と呼ばれている)は、サムネイルを生成する必要がある場合に COM プロキシプロセスを起動する。COM プロキシプロセスは、作業を行う COM オブジェクトをホストしている。COMオブジェクトがクラッシュした場合、COMプロキシだけがクラッシュし、元のFile Explorerのプロセスはトラックし続ける。
"言い換えれば、"Microsoftの公式ブログThe Old New Thingによれば、"COMエージェントが原因でこのコードに不満があるので、COMに頼んで別のプロセスでホストしてもらう "ということである。そうすれば、もしクラッシュしても、私のプロセスがクラッシュするのではなく、COMエージェントが犠牲になるのです。"
そして、お察しの通り、COMプロキシが「プロセス空間」と名付けられているのは、それがホストするCOMオブジェクトが.dllファイルであるためです。
Windows標準のタスクマネージャでは、どのCOMオブジェクトまたはDLLファイルがCOMエージェントプロセスによってホストされているかについての詳細な情報は提供されません。この情報を見たい場合は、マイクロソフトのプロセスエクスプローラーというツールを使うことをお勧めします。ダウンロードするには、dllhost.exeファイルのプロセスエクスプローラーでプロセスにマウスオーバーするだけで、どのCOMオブジェクトまたはDLLファイルがホストしているかを確認することができます。
下のスクリーンショットにあるように、この特定のdllhost.exeファイルプロセスは、CortanaMapiHelper.dllオブジェクトをホストしていることがわかります。
COMプロキシプロセスは、Windowsに必要なものであるため、無効にすることはできません。これは、実際には、他のプロセスが実行したいCOMオブジェクトを実行するためのコンテナプロセスです。例えば、Windowsエクスプローラ(またはファイルエクスプローラ)は、フォルダを開く際にサムネイルを生成するために、定期的にCOMプロキシプロセスを生成しています。あなたが使用する他のプログラムも、独自のCOMプロキシプロセスを作成することができます。dllhost.exeファイルシステム上のすべてのプロセスは、別のプログラムによって起動され、そのプログラムが実行したい動作を行います。
COMプロキシプロセス自体はウイルスではなく、Windowsの正常な動作です。ただし、悪意のあるソフトウェアに利用される可能性があります。例えばトロイの木馬など。Bowlixマルウェアは、その汚い仕事のプロセスにdllhost.exeファイルを使用します。dllhost.exeファイルのプロセスが大量に実行され、多くのCPUを使用している場合、COMプロキシプロセスがウイルスや他の悪意のあるアプリケーションによって悪用されている可能性があります。
関連:Windows 10に最適なウイルス対策は? (Windows Defenderで十分?)
マルウェアがdllhost.exeファイルやCOMエージェントプロセスを悪用していることが懸念される場合、お使いのシステムに存在するマルウェアを発見し除去するために、お好みのアンチウィルスプログラムによるスキャンを実行することをお勧めします。もし、あなたが選んだアンチウィルスプログラムが、何も問題ないと言っているにもかかわらず、疑わしい場合は、他のアンチウィルスツールでスキャンを実行し、セカンドオピニオンを得てください。