24Aug

Vad är "COM Surrogate"( dllhost.exe) och varför går det på min dator?

Om du pekar i din arbetshanterare är det en bra chans att du får se en eller flera "COM Surrogate" -processer som körs på en Windows-dator. Dessa processer har filnamnet "dllhost.exe", och ingår i Windows-operativsystemet. Du får se dem på Windows 10, Windows 8, Windows 7 och till och med tidigare versioner av Windows.

Denna artikel är en del av vår pågående serie som förklarar olika processer som finns i Task Manager, som Runtime Broker, svchost.exe, dwm.exe, ctfmon.exe, rundll32.exe, Adobe_Updater.exe och många andra. Vet inte vad de här tjänsterna är? Bättre börja läsa!

Vad är COM Surrogate( dllhost.exe)?

COM står för komponentobjektmodell. Detta är ett gränssnitt som Microsoft introducerade tillbaka 1993, vilket gör det möjligt för utvecklare att skapa "COM-objekt" med en mängd olika programmeringsspråk. I huvudsak pluggar dessa COM-objekt i andra applikationer och utökar dem.

Windows-filhanteraren använder till exempel COM-objekt för att skapa miniatyrbilder av bilder och andra filer när den öppnar en mapp. COM-objektet hanterar bearbetning av bilder, videoklipp och andra filer för att generera miniatyrerna. Detta gör att File Explorer kan förlängas med stöd för nya video codecs, till exempel.

Detta kan dock leda till problem. Om ett COM-objekt kraschar, kommer det att ta ner värdprocessen. Vid ett tillfälle var det vanligt att dessa miniatyrbildande COM-objekt skulle krascha och ta ner hela Utforskaren-processen med dem.

För att åtgärda detta slags problem skapade Microsoft COM Surrogate-processen. COM Surrogate-processen kör ett COM-objekt utanför den ursprungliga processen som begärde den. Om COM-objektet kraschar, kommer det bara att ta ner COM Surrogate-processen och den ursprungliga värdprocessen kommer inte att krascha. Exempelvis startar Windows Explorer( nu känd som File Explorer) en COM Surrogate-process när det behövs för att generera miniatyrbilder. COM Surrogate-processen är värd för COM-objektet som gör arbetet. Om COM-objektet kraschar kraschar endast COM Surrogaten och den ursprungliga File Explorer-processen fortsätter att vara på lastbil.

"Med andra ord", som officiell Microsoft-blogg, The Old New Thing, säger den, "COM Surrogate är . Jag känner mig inte bra om den här koden, så jag ska fråga COM för att vara värd för den i en annan process. På så sätt, om det kraschar, är det COM Surrogat-offerprocessen som kraschar istället för mig -processen. "

Och, som du kanske har gett, heter COM Surrogate" dllhost.exe "eftersom COM-objekten det värd är. dll-filer.

Hur kan jag säga vilket COM-objekt som en COM Surrogate är värd?

Den vanliga Windows Task Manager ger dig inte mer information om vilket COM-objekt eller DLL-fil en COM Surrogate-process är värd. Om du vill se den här informationen rekommenderar vi Microsofts Process Explorer-verktyg. Ladda ner det och du kan bara mus-över en dllhost.exe-process i Process Explorer för att se vilken COM Object eller DLL-fil det är värd.

Som vi kan se på skärmdumpen nedan, har denna speciella dllhost.exe-process värd 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 behållarprocess som används för att köra COM-objekt som andra processer vill köra. Exempelvis skapar Windows Utforskare( 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 Surrogate-processer. Alla processer dllhost.exe på ditt system startades av ett annat program för att göra något som programmet vill göra.

Är det ett virus?

COM Surrogate-processen i sig är inte ett virus, och är en vanlig del av Windows. Det kan dock användas av skadlig kod. Till exempel använder Trojan. Poweliks malware dllhost.exe-processer för att göra sitt smutsiga arbete. Om du ser ett stort antal dllhost.exe-processer som 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.

Om du är oroad över att malware missbrukar dllhost.exe eller COM Surrogate-processen, ska du skanna en skanning med ditt önskade antivirusprogram för att hitta och ta bort eventuella skadliga program som finns på 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.