Hva er COM Surrogate (dllhost.exe) og hvorfor kjører det på min PC?
Hvis du peker rundt i Oppgavebehandling, er det en god sjanse for at du får se en eller flere "COM Surrogate" -prosesser som kjører på en Windows-PC. Disse prosessene har filnavnet "dllhost.exe", og er en del av Windows-operativsystemet. Du ser dem på Windows 10, Windows 8, Windows 7, og til og med tidligere versjoner av Windows.
Denne artikkelen er en del av vår pågående serie som forklarer ulike prosesser som finnes i Oppgavebehandling, som Runtime Broker, svchost.exe, dwm.exe, ctfmon.exe, rundll32.exe, Adobe_Updater.exe og mange andre. Vet ikke hva disse tjenestene er? Bedre begynner å lese!
Hva er COM Surrogate (dllhost.exe)?
COM står for komponentobjektmodell. Dette er et grensesnitt Microsoft introduserte tilbake i 1993 som lar utviklere lage "COM-objekter" ved hjelp av en rekke forskjellige programmeringsspråk. I hovedsak stikker disse COM-objektene inn i andre applikasjoner og utvider dem.
For eksempel bruker Windows-filbehandling COM-objekter for å lage miniatyrbilder av bilder og andre filer når det åpnes en mappe. COM-objektet håndterer behandling av bilder, videoer og andre filer for å generere miniatyrbildene. Dette gjør at filutforskeren kan utvides med støtte for nye videokodeker, for eksempel.
Dette kan imidlertid føre til problemer. Hvis et COM-objekt krasjer, vil det ta ned vertsprosessen. På et tidspunkt var det vanlig at disse miniatyrbildende COM-objektene skulle krasje og ta ned hele Windows Explorer-prosessen med dem.
For å fikse denne typen problem, opprettet Microsoft COM Surrogate-prosessen. COM Surrogate-prosessen kjører et COM-objekt utenfor den opprinnelige prosessen som ba om det. Hvis COM-objektet krasjer, vil det bare ta ned COM Surrogate-prosessen, og den opprinnelige vertsprosessen vil ikke krasje. For eksempel starter Windows Explorer (nå kjent som File Explorer) en COM Surrogate-prosess når den trenger å generere miniatyrbilder. COM Surrogate-prosessen er vert for COM-objektet som gjør arbeidet. Hvis COM-objektet krasjer, krasjer bare COM Surrogaten, og den originale File Explorer-prosessen vil fortsette å transportere.
"Med andre ord", som den offisielle Microsoft-bloggen The Old New Thing, sier "COM Surrogate" Jeg føler meg ikke bra med denne koden, så jeg skal spørre COM om å være vert for den i en annen prosess. På den måten, hvis det krasjer, er det COM Surrogat offerprosessen som krasjer i stedet for meg prosess."
Og, som du kanskje har gjettet, heter COM Surrogate "dllhost.exe" fordi COM-objektene det er vert for, er .dll-filer.
Hvordan kan jeg fortelle hvilket COM-objekt en COM Surrogate er Hosting?
Standard Windows Task Manager gir deg ikke mer informasjon om hvilket COM-objekt eller DLL-fil en COM Surrogate-prosess er vertskap for. Hvis du vil se denne informasjonen, anbefaler vi Microsofts Prosesutforskerverktøy. Last ned den, og du kan bare overføre en dllhost.exe-prosess i Process Explorer for å se hvilken COM-objekt eller DLL-fil den er vert for..
Som vi kan se på skjermbildet nedenfor, er denne bestemte dllhost.exe-prosessen vert for CortanaMapiHelper.dll-objektet.
Kan jeg deaktivere det?
Du kan ikke deaktivere COM Surrogate-prosessen, da det er en nødvendig del av Windows. Det er egentlig bare en containerprosess som brukes til å kjøre COM-objekter som andre prosesser vil kjøre. For eksempel oppretter Windows Utforsker (eller File Explorer) regelmessig en COM Surrogate-prosess for å generere miniatyrbilder når du åpner en mappe. Andre programmer du bruker kan også lage egne COM Surrogate prosesser. Alle prosessene dllhost.exe på systemet ble startet av et annet program for å gjøre noe som programmet vil gjøre.
Er det et virus?
COM Surrogate-prosessen i seg selv er ikke et virus, og er en vanlig del av Windows. Det kan imidlertid brukes av skadelig programvare. For eksempel bruker Trojan.Poweliks malware dllhost.exe prosesser for å gjøre sitt skitne arbeid. Hvis du ser et stort antall dllhost.exe prosesser som kjører, og de bruker en merkbar mengde CPU, kan det tyde på at COM Surrogate-prosessen blir misbrukt av et virus eller annen ondsinnet applikasjon.
Hvis du er bekymret for at malware misbruker dllhost.exe eller COM Surrogate-prosessen, bør du kjøre en skanning med ditt foretrukne antivirusprogram for å finne og fjerne eventuelle skadelige programvare som er tilstede på systemet ditt. Hvis antivirusprogrammet du har valgt, sier at alt er bra, men du er mistenksom, kjør en skanning med et annet antivirusverktøy for å få en ny mening.