タスクマネージャーを検査することにした場合1、Windowsワークステーションでアクティブな1つ以上の「COMサロゲート」プロセスに遭遇する可能性が高くなります。 このようなプロセスのファイル名は「dllhost.exe」で、WindowsOSのコンポーネントです。 これらは、Windows 10、Windows 8、Windows 7、さらには以前のバージョンのWindowsでも見られます。
このチュートリアルは、ランタイムブローカー、svchost.exe、dwm.exe、AMTEmuなど、タスクマネージャーにあるさまざまなプロセスを説明する一連の定期的なガイドラインのコンポーネントです。 それらのサービスが何を意味するのかご存知ですか? 私たちの記事を読み続けてください!
COMサロゲート(dllhost.exe)とは何ですか?
COMは、コンポーネントオブジェクトモデルとも呼ばれます2。 これは、Microsoftが1993年にリリースしたインターフェイスであり、開発者はさまざまなプログラミング言語のセットを使用して「COMオブジェクト」を形成できます。 それらの本質的な機能は、他のプログラムにプラグインしてそれらを拡張する機能です。
たとえば、Windowsファイルマネージャは、特定のフォルダを開いたときに画像やその他のファイルのサムネイルを生成するためにCOMオブジェクトを適用します。 COMオブジェクトは、サムネイルを生成するための画像、ビデオ、およびその他のファイルの処理を担当します。 これにより、たとえば、新しいビデオコーデックをサポートするようにファイルエクスプローラーを拡張できます。
それでも、これは問題を引き起こす可能性があります。 COMオブジェクトがクラッシュした場合、ホストプロセスに悪影響を及ぼします。 ある時点で、これらのサムネイル生成COMオブジェクトがクラッシュし、Windowsエクスプローラープロセス全体が停止するのが一般的でした。
この種の問題を解決するために、MicrosoftはCOMサロゲートプロセスを詳しく説明しました。 COMサロゲートプロセスは、COMオブジェクトを要求した元のプロセスを超えてCOMオブジェクトを操作します。 COMオブジェクトがクラッシュした場合、COMサロゲートプロセスがクラッシュするだけで、元のホストプロセスが破損することはありません。 たとえば、Windowsエクスプローラー(現在はファイルエクスプローラーと呼ばれています)は、サムネイル画像を作成するたびにCOMサロゲートプロセスを起動します。 COMサロゲートプロセスは、この目的のためにすべての重要な作業を実行するCOMオブジェクトをホストします。 COMオブジェクトが動作しない場合、クラッシュするのはdllhost.exeだけであり、元のファイルエクスプローラープロセスは引き続き機能します。
「言い換えれば」、Microsoftの公式ブログThe Old New Thing3が述べているように、「COMサロゲートは、このコードに満足していないことを意味するので、COMに別のプロセスでホストするように依頼します。 そうすれば、クラッシュした場合、私のプロセスではなく、COMサロゲートの犠牲プロセスがクラッシュします。」
さらに、ご想像のとおり、COMサロゲートは、ホストするCOMオブジェクトが.dllファイルであるため、「dllhost.exe」に指定されています。
COMサロゲートがホストしているCOMオブジェクトを定義するにはどうすればよいですか?
一般的なWindowsタスクマネージャは、COMサロゲートプロセスがホストしているCOMオブジェクトまたはDLLファイルに関するデータをこれ以上提供しません。 詳細を知りたい場合は、MicrosoftのProcessExplorer4ユーティリティをお勧めします。 ダウンロードすると、Process Explorerでdllhost.exeプロセスにマウスを合わせるだけで、ホストしているCOMオブジェクトまたはDLLファイルを見つけることができます。
以下のスクリーンショットでわかるように、この特定のdllhost.exeプロセスは、CortanaMapiHelper.dllオブジェクトをホストしています。
非アクティブ化できますか?
COMサロゲートプロセスはWindowsの重要なコンポーネントであるため、非アクティブ化することはできません。 実際、他のプロセスが実行したいCOMオブジェクトを実行するための単なるコンテナプロセスです。 たとえば、Windowsエクスプローラー(またはファイルエクスプローラー)は、フォルダーを開いたときにサムネイルを生成する目的で、dllhost.exeプロセスを永続的に作成します。 実行する他のアプリケーションも、独自のCOMサロゲートプロセスを生成する場合があります。 コンピューター上のすべてのdllhost.exeプロセスは、プログラムが実行したいことを実行するために別のアプリケーションによって起動されました。
マルウェアですか?
COMサロゲートプロセス自体はマルウェアではなく、Windowsの一般的なコンポーネントです。 それでも、マルウェアが使用できる場合があります。 たとえば、Trojan.Poweliksマルウェアは、悪意のあるアクティビティを実行するためのdllhost.exeプロセスを参照します。 多数のdllhost.exeプロセスがアクティブであり、それらがCPUのかなりの部分を消費している場合、マルウェアまたは別の危険なプログラムによって悪用されているCOMサロゲートプロセスの証拠である可能性があります。
そのマルウェアがdllhost.exeまたはCOMサロゲートプロセスを悪用しているかどうかが心配な場合は、システムで利用可能なマルウェアを見つけて削除するために、優先するウイルス対策アプリケーションでスキャンを実行する必要があります。 ウイルス対策アプリケーションがすべてが順調であることを示しているが、それでも疑問がある場合は、セカンドオピニオンを得るために別のウイルス対策プログラムでスキャンを開始することを検討してください。
User Review
( votes)References
- Windows タスク マネージャー: https://en.wikipedia.org/wiki/Task_Manager_(Windows)
- コンポーネントオブジェクトモデル: https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363(v=vs.85).aspx
- The Old New Thing: https://blogs.msdn.microsoft.com/oldnewthing/20090212-00/?p=19173
- Process Explorer: https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer