Vad är “COM Surrogate” (dllhost.exe) och varför körs det på min dator?

Om du kikar runt i din Aktivitetshanterare är det stor chans att du ser en eller flera “COM Surrogate” -processer som körs på en Windows-dator. Dessa processer har filnamnet “dllhost.exe” och är en del av Windows-operativsystemet. Du ser dem på Windows 10, Windows 8, Windows 7 och ännu tidigare versioner av Windows.

RELATERAD: Vad är den här processen och varför körs den på min dator?

Den här artikeln är en del av vår pågående serie som förklarar olika processer som finns i Aktivitetshanteraren, som Runtime Broker, svchost.exe, dwm.exe, ctfmon.exe, rundll32.exe, Adobe_Updater.exe och många andra. Vet du inte vad dessa tjänster är? Bättre börja läsa!

Vad är COM Surrogate (dllhost.exe)?

COM står för Component Object Model. Detta är ett gränssnitt som Microsoft introducerade redan 1993 som gör det möjligt för utvecklare att skapa "COM-objekt" med hjälp av en mängd olika programmeringsspråk. I grund och botten ansluts dessa COM-objekt till andra applikationer och utökar dem.

Till exempel använder Windows-filhanteraren COM-objekt för att skapa miniatyrbilder av bilder och andra filer när den öppnar en mapp. COM-objektet hanterar bearbetning av bilder, videor och andra filer för att skapa miniatyrer. Detta gör att File Explorer kan utökas med exempelvis stöd för nya videokodek.

Detta kan dock leda till problem. Om ett COM-objekt kraschar tar det bort värdprocessen. Vid ett tillfälle var det vanligt att dessa miniatyrbildande COM-objekt kraschade och tog ner hela Windows Explorer-processen med dem.

För att åtgärda denna typ av problem skapade Microsoft COM Surrogate-processen. COM Surrogate-processen kör ett COM-objekt utanför den ursprungliga processen som begärde det. Om COM-objektet kraschar kommer det bara att ta bort COM Surrogate-processen och den ursprungliga värdprocessen kraschar inte. Till exempel startar Windows Explorer (nu känd som File Explorer) en COM Surrogate-process när den behöver generera miniatyrbilder. COM Surrogate-processen är värd för COM-objektet som gör jobbet. Om COM-objektet kraschar, kraschar bara COM Surrogate och den ursprungliga File Explorer-processen fortsätter.

”Med andra ord”, som den officiella Microsoft-bloggen The Old New Thing uttrycker det, “COM Surrogate är det  jag inte mår bra med den här koden, så jag kommer att be COM att vara värd för den i en annan process. På det sättet, om det kraschar, är det COM-surrogatofferprocessen som kraschar istället för mig  process. ”

Och, som du kanske har gissat, heter COM Surrogate "dllhost.exe" eftersom de COM-objekt som är värd är .dll-filer.

Hur kan jag veta vilket COM-objekt ett COM-surrogat är värd?

Standarduppgiftshanteraren i Windows ger dig inte mer information om vilket COM-objekt eller DLL-fil som en COM Surrogate-process är värd för. Om du vill se denna information rekommenderar vi Microsofts Process Explorer-verktyg. Ladda ner det och du kan bara muspeka över en dllhost.exe-process i Process Explorer för att se vilket COM-objekt eller DLL-fil det är värd för.

Som vi kan se på skärmdumpen nedan är den här dllhost.exe-processen värd för CortanaMapiHelper.dll-objektet.

Kan jag inaktivera det?

Du kan inte inaktivera COM Surrogate-processen, eftersom det är en nödvändig del av Windows. Det är egentligen bara en containerprocess som används för att köra COM-objekt som andra processer vill köra. Till exempel skapar Windows Explorer (eller File Explorer) regelbundet en COM Surrogate-process för att skapa miniatyrer när du öppnar en mapp. Andra program du använder kan också skapa egna COM-surrogatprocesser. Alla dllhost.exe-processer på ditt system startades av ett annat program för att göra något som programmet vill ha gjort.

Är det ett virus?

COM Surrogate-processen i sig är inte ett virus och är en normal del av Windows. Det kan dock användas av skadlig kod. Till exempel använder Trojan.Poweliks skadliga program dllhost.exe-processer för att göra sitt smutsiga arbete. Om du ser att ett stort antal dllhost.exe-processer körs och de använder en märkbar mängd CPU kan det indikera att COM Surrogate-processen missbrukas av ett virus eller annan skadlig applikation.

RELATERAD: Vad är det bästa antivirusprogrammet för Windows 10? (Är Windows Defender tillräckligt bra?)

Om du är orolig för att skadlig kod missbrukar dllhost.exe eller COM Surrogate-processen, bör du köra en genomsökning med ditt föredragna antivirusprogram för att hitta och ta bort skadlig programvara som finns i ditt system. Om ditt antivirusprogram väljer att allt är bra men du är misstänksam, kör en skanning med ett annat antivirusverktyg för att få en andra åsikt.