Что такое «COM Surrogate» (dllhost.exe) и для чего он нужен?

0
26003
просмотров
Что такое «COM Surrogate» (dllhost.exe) и почему он работает на моем ПК?

Если Вы просматриваете диспетчер задач, то есть вероятность, что Вы увидите один или несколько процессов COM Surrogate, запущенных на ПК в ОС Windows. Эти процессы имеют имя файла «dllhost.exe» и являются частью операционной системы Windows. Вы можете увидеть их в Windows 10, Windows 8, Windows 7 и даже более ранних версиях Windows.

Что такое COM Surrogate (dllhost.exe)?

COM означает Component Object Model. Это интерфейс Microsoft, представленный еще в 1993 году, который позволяет разработчикам создавать «COM-объекты» с использованием различных языков программирования. По сути, эти COM-объекты подключаются к другим приложениям и расширяют их. Например, диспетчер файлов Windows использует COM-объекты для создания уменьшенных изображений и других файлов при открытии папки. COM-объект обрабатывает изображения, видео и другие файлы для создания эскизов. Это позволяет, например, расширять проводник с поддержкой новых видеокодеков.

Однако это может привести к проблемам. Если COM-объект выйдет из строя, он отключит хост-процесс. В какой-то момент для этих COM объектов, генерирующих эскизы, было обычным делом обрушение и удаление с него всего процесса проводника Windows.

Чтобы устранить эту проблему, Microsoft создала процесс COM Surrogate. Процесс COM Surrogate запускает COM-объект вне исходного процесса, который его запросил. Если COM-объект выйдет из строя, это приведет к сбою только процесса COM Surrogate, и исходный процесс хоста не будет аварийно завершен. Например, проводник Windows запускает процесс COM Surrogate всякий раз, когда ему нужно генерировать миниатюрные изображения. Процесс COM Surrogate содержит COM-объект, который выполняет эту работу. Если COM-объект выйдет из строя, произойдет сбой только COM Surrogate, и исходный процесс проводника продолжит работу.

«Другими словами», как утверждает официальный блог Microsoft The Old New Thing,

«COM Surrogate — это означает, что я не очень хорошо разбираюсь в этом коде, поэтому я собираюсь попросить COM разместить его в другом процессе. Таким образом, если он потерпит крах, то это процесс жертвоприношения COM Surrogate, который падает вместо меня».

И, как Вы могли догадаться, COM Surrogate называется «dllhost.exe», потому что COM-объекты, на которых он размещается, являются DLL-файлами.

Читайте также  Что такое тип сокета процессора

Как я могу узнать, какой COM-объект является COM Surrogate?

Стандартный диспетчер задач Windows не дает Вам много информации о том, какой объект COM или DLL-файл обрабатывается COM Surrogate. Если Вы хотите увидеть эту информацию, то мы рекомендуем использовать Microsoft Process Explorer. Загрузите его, и Вы сможете просто перейти к процессу dllhost.exe в Process Explorer, чтобы увидеть, какой COM-объект или DLL-файл он размещает.

Что такое «COM Surrogate» (dllhost.exe) и почему он работает на моем ПК?

Могу ли я отключить его?

Вы не можете отключить процесс COM Surrogate, так как это необходимая часть Windows. Это действительно просто контейнерный процесс, который используется для запуска COM-объектов, которые другие процессы хотят запускать. Например, проводник Windows регулярно создает процесс COM Surrogate для создания эскизов при открытии папки. Другие программы, которые вы используете, также могут создавать собственные процессы COM Surrogate. Все процессы dllhost.exe в вашей системе были запущены другой программой, чтобы сделать что-то, что хочет сделать программа.

Это вирус?

Сам процесс COM Surrogate не является вирусом и является нормальной частью Windows. Однако он может быть использован вредоносными программами. Например, вредоносное ПО Trojan.Poweliks использует процессы dllhost.exe для выполнения своей работы. Если вы видите большое количество процессов dllhost.exe, и они используют заметное количество CPU, это может указывать на то, что процесс COM Surrogate подвергается атаке со стороны вируса или другого вредоносного приложения.

Если Вы обеспокоены тем, что вредоносное ПО злоупотребляет процессом dllhost.exe или COM Surrogate, то Вы должны запустить проверку с помощью антивирусной программы, чтобы найти и удалить любую вредоносную программу, присутствующую в Вашей системе. Если Ваша антивирусная программа говорит, что все в порядке, но у Вас есть подозрения, то запустите сканирование с помощью другого антивирусного инструмента, чтобы получить второе мнение.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя здесь

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.