Olhando a lista de processos em um computador Windows usando Gerenciador de Tarefas é uma receita para a paranóia. Existem muitos programas que parecem estranhos em execução e geralmente não há como você saber o que é bom ou ruim para o seu PC. O COM surrogate dllhost.exe é apenas um desses processos, mas é muito mais mundano do que você pode imaginar.
O que é COM Surrogate (dllhost.exe)?
COM é a abreviatura de Component Object Model. Isso é algo que a Microsoft introduziu no início dos anos 90 para tornar mais fácil para os programadores estender a funcionalidade do software existente. Em outras palavras, é algo como um sistema de plug-in que permite adicionar novas funções a programas existentes, como Windows Explorer .
Isso é ótimo para melhorar dinamicamente o que um programa pode fazer, mas há uma desvantagem. Se um módulo COM estiver mal codificado ou travar por algum motivo, ele também travará o programa ao qual se conectou. Isso ocorre porque o COM e o programa principal estão sendo executados como um processo.
É aí que entram os substitutos do COM. Essa abordagem permite que o COM seja executado em seu próprio processo separado, como se fosse seu próprio programa. O programa principal e os processos substitutos do COM se comunicam conforme necessário. Mas se o substituto do COM travar por qualquer motivo, ele não causa nada além de seu próprio processo travar. Isso torna o sistema muito mais estável em geral.
O COM Surrogate (dllhost.exe) é seguro?
Se dllhost.exe é seguro é uma pergunta difícil de responder, porque vai depender do COM específico que está sendo executado. Normalmente eles hospedam processos benignos que fazem coisas úteis, mas não está fora do reino da possibilidade de que um COM mal codificado ou malware pegando carona na estrutura substituta do COM possa causar danos ou executar código malicioso.
Encontrando a localização do COM Surrogate
Há apenas um local legítimo para o arquivo dllhost.exe, dentro da pasta System32 dentro da pasta Windows. O caminho padrão é Windows > System32 na unidade do sistema. A unidade do sistema geralmente é a unidade C. Se você encontrar este arquivo em qualquer outro lugar, provavelmente é um vírus. Portanto, certifique-se de digitalizá-lo!
Verificando a legitimidade do substituto do COM
Como mencionado acima, o substituto de COM que você está vendo no gerenciador de tarefas não é um aplicativo específico, é apenas um shell para outro processo. Uma vez que não podemos facilmente obter informações sobre o que realmente está sendo executado em um processo substituto de COM específico, a única maneira real de verificar se há comportamento suspeito é usando um programa antivírus.
Claro, você deve executar seu programa antivírus em intervalos regulares de qualquer maneira, mas se você vir um substituto de COM que está usando muitos recursos ou causa instabilidade do sistema, essa pode ser uma explicação.
Então, novamente, o processo substituto do COM em questão pode ser apenas problemático, em vez de malicioso. Se você salvou todos os seus documentos, pode tentar encerrar à força um determinado processo substituto de COM para descobrir o que ele está fazendo. O que quer que seja travado ou travado diretamente após encerrar o processo é provavelmente o programa associado. Depois de identificar o culpado mais provável, reinicie o computador.
Correção de erros COM Surrogate
Erros substitutos de COM acontecem de vez em quando e são provavelmente o motivo mais comum para as pessoas pesquisarem o nome do processo. O erro “COM surrogate parou de funcionar” pode parecer enigmático à primeira vista. Agora que você sabe o que o substituto do COM faz, é óbvio que o processo está realmente fazendo seu trabalho.
O substituto do COM destina-se a proteger as extensões do programa de travar o processo principal que eles estendem, de modo que a causa desse erro pode ser rastreada até o módulo COM que estava sendo executado no substituto.
Não há uma maneira fácil de saber qual COM era, uma vez que o próprio substituto mascara o COM específico dentro dele. Existem vários suspeitos prováveis:
- Os codecs de vídeo de terceiros estão desatualizados. Se você tiver algum, remova-o ou atualize-o.
- Seu programa antivírus pode estar interferindo no substituto COM. Desative-o temporariamente. Se esse parece ser o problema, mude para um antivírus diferente ou tente atualizar o seu para a versão mais recente, se aplicável.
- Verifique se há erros no disco usando um utilitário como CHKDSK .
- Verifique se os arquivos do sistema estão corrompidos com Verificador de arquivos do sistema .
- Reverta as atualizações recentes do driver ou atualize o monitor e os drivers da impressora em particular. Experimente o fabricante padrão driver de GPU e a versão OEM, se aplicável ao seu computador.
Se você quiser saber como diagnosticar exatamente qual COM está sendo executado no substituto, há uma solução mais técnica.
Verificando dentro de um processo substituto de COM com o Process Explorer
A Microsoft tem um utilitário opcional conhecido como Processo Explorer . É útil para uma variedade de coisas. Por exemplo, se você foi informado de que pode excluir uma pasta porque um programa a abriu, você pode usar o Process Explorer para ver qual é o programa e forçá-lo a fechar sem ter que reiniciar o computador inteiro.
Basta fazer o download e executar o Process Explorer e você verá uma janela como esta:
Lembre-se de que o COM Surrogate é, na verdade, denominado dllhost.exe. Portanto, procure por isso e passe o ponteiro do mouse sobre a entrada. No pequeno pop-up, você verá qual arquivo DLL está sendo hospedado. Normalmente, isso fornece informações suficientes para saber qual programa está conectado a ele. Se não for óbvio pelo nome da DLL, você pode pesquisar no Google para obter uma resposta mais definitiva.
COM On Over para uma festa
Para recapitular, agora você sabe o que são COMs, o que um substituto de COM faz, como corrigir os problemas mais comuns e como descobrir com qual COM está lidando. O que, espero, tenha resolvido seus problemas relacionados ao COM para sempre.