Che cos'è COM Surrogate (dllhost.exe) e Perché è in esecuzione sul mio PC?
Se fai un giro nel tuo Task Manager, ci sono buone probabilità di vedere uno o più processi "COM surrogati" in esecuzione su un PC Windows. Questi processi hanno il nome del file "dllhost.exe" e fanno parte del sistema operativo Windows. Li vedrai su Windows 10, Windows 8, Windows 7 e anche versioni precedenti di Windows.
Questo articolo fa parte delle nostre serie in corso che illustrano vari processi trovati in Task Manager, come Runtime Broker, svchost.exe, dwm.exe, ctfmon.exe, rundll32.exe, Adobe_Updater.exe e molti altri. Non so quali siano questi servizi? Meglio iniziare a leggere!
Cos'è COM Surrogate (dllhost.exe)?
COM sta per Component Object Model. Questa è un'interfaccia che Microsoft ha introdotto nel 1993 e che consente agli sviluppatori di creare "oggetti COM" utilizzando una varietà di linguaggi di programmazione diversi. Essenzialmente, questi oggetti COM si collegano ad altre applicazioni e le estendono.
Ad esempio, il gestore file di Windows utilizza gli oggetti COM per creare immagini di anteprima di immagini e altri file quando apre una cartella. L'oggetto COM gestisce l'elaborazione di immagini, video e altri file per generare le miniature. Ciò consente ad File Explorer di essere esteso con supporto per nuovi codec video, ad esempio.
Tuttavia, questo può portare a problemi. Se un oggetto COM si arresta in modo anomalo, il processo host verrà interrotto. A un certo punto, era comune che questi oggetti COM che generano le miniature si arrestassero e riducessero l'intero processo di Esplora risorse con essi.
Per risolvere questo tipo di problema, Microsoft ha creato il processo COM Surrogate. Il processo COM Surrogate esegue un oggetto COM al di fuori del processo originale che lo ha richiesto. Se l'oggetto COM si arresta in modo anomalo, il processo Surrogate COM viene solo annullato e il processo host originale non si arresta in modo anomalo. Ad esempio, Esplora risorse (ora noto come Esplora file) avvia una procedura COM Surrogate ogni volta che è necessario generare immagini di anteprima. Il processo COM Surrogate ospita l'oggetto COM che esegue il lavoro. Se l'oggetto COM si arresta in modo anomalo, solo il COM Surrogate si arresta in modo anomalo e il processo Esplora file originale continuerà a eseguire il trasporto.
"In altre parole", come dice il blog ufficiale di Microsoft The Old New Thing, "il COM Surrogate è il Non mi sento a mio agio con questo codice, quindi chiederò a COM di ospitarla in un altro processo. In questo modo, se si blocca, è il processo sacrificale COM Surrogate che si blocca invece di me processi."
E, come avrai intuito, COM Surrogate si chiama "dllhost.exe" perché gli oggetti COM che ospita sono file .dll.
Come posso sapere quale oggetto COM sta ospitando un surrogato COM?
Il Task Manager di Windows standard non fornisce ulteriori informazioni su quale oggetto COM o file DLL sta ospitando un processo di surrogato COM. Se si desidera visualizzare queste informazioni, si consiglia lo strumento Process Explorer di Microsoft. Scaricalo e puoi semplicemente passare il mouse su un processo dllhost.exe in Process Explorer per vedere quale oggetto COM o file DLL sta ospitando.
Come possiamo vedere nello screenshot qui sotto, questo particolare processo dllhost.exe ospita l'oggetto CortanaMapiHelper.dll.
Posso disabilitarlo?
Non è possibile disabilitare il processo COM Surrogate, poiché è una parte necessaria di Windows. In realtà è solo un processo contenitore utilizzato per eseguire oggetti COM che altri processi vogliono eseguire. Ad esempio, Esplora risorse (o Esplora file) crea regolarmente un processo Surrogate COM per generare miniature quando si apre una cartella. Altri programmi che si utilizzano possono anche creare i propri processi di surrogato COM. Tutti i processi dllhost.exe sul tuo sistema sono stati avviati da un altro programma per fare qualcosa che il programma vuole eseguire.
È un virus?
Il processo COM Surrogate non è un virus ed è una parte normale di Windows. Tuttavia, può essere utilizzato dal malware. Ad esempio, il malware Trojan.Poweliks utilizza i processi dllhost.exe per svolgere il proprio lavoro sporco. Se viene visualizzato un numero elevato di processi dllhost.exe in esecuzione e stanno utilizzando una notevole quantità di CPU, ciò potrebbe indicare che il processo di surrogato COM viene utilizzato da un virus o da un'altra applicazione dannosa.
Se sei preoccupato che il malware stia abusando del processo dllhost.exe o COM Surrogate, dovresti eseguire una scansione con il tuo programma antivirus preferito per trovare e rimuovere qualsiasi malware presente sul tuo sistema. Se il tuo programma antivirus di scelta dice che tutto va bene ma sei sospettoso, esegui una scansione con un altro strumento antivirus per ottenere una seconda opinione.