ActiveX: definitie en werking van DLL‑controles in Windows

Leer wat ActiveX‑DLL‑controles in Windows zijn, hoe ze werken, voorbeelden en beveiligingsaspecten — heldere definitie en praktische uitleg.

Schrijver: Leandro Alegsa

ActiveX is een type component dat vaak in een DLL (Dynamic Link Library) wordt geleverd en gebruikt kan worden om functies en gegevens tussen toepassingen te delen. Een ActiveX‑control is in technisch opzicht meestal een speciale DLL (of .ocx‑bestand) die de COM/COM+ (Component Object Model) interfaces implementeert zodat andere programma’s, scripts of webpagina’s die component kunnen gebruiken. In die zin is ActiveX geen apart bestandsformaat maar een manier om herbruikbare functionaliteit in Windows aan te bieden via bibliotheken zoals DLL.

Elk van de gegevensbestanden van Microsoft Windows met hetzelfde bestandsformaat als dat van de Dynamic-link library kan een resource DLL worden genoemd. Voorbeelden van dergelijke DLL's zijn icoonbibliotheken, soms met de extensie ICL, en lettertypebestanden met de extensies FON en FOT. Naast die resourcebestanden bestaan er ook speciale uitvoerbare componenten die als ActiveX‑controls fungeren (meestal met extensies zoals .ocx, .dll of .ax voor DirectShow‑filters).

Hoe werkt een ActiveX‑control?

Een ActiveX‑control implementeert standaard COM‑interfaces zoals IUnknown en vaak IDispatch. Daardoor kan een host (bijvoorbeeld een applicatie, een script of Internet Explorer) objecten in de control aanmaken, methoden aanroepen en eigenschappen uitlezen of instellen. Technisch gezien moet een ActiveX‑component exportfuncties bevatten waarmee het zich registreert in het Windows‑register (registry) zodat het via een CLSID of ProgID gevonden kan worden.

  • COM/CLSID/ProgID: De control krijgt een unieke CLSID en vaak een leesbare ProgID waarmee hosts de component kunnen aanroepen.
  • Interfaces: Methoden en eigenschappen worden via COM‑interfaces aangeboden; scripts kunnen via IDispatch late binding gebruiken.
  • Registratie: Tijdens installatie wordt de control meestal geregistreerd met behulp van regsvr32 of een installer, zodat systeem en applicaties deze kunnen laden.

Bestandstypen en voorbeelden

Veelvoorkomende bestandstypen en voorbeelden rondom ActiveX en resource‑DLLs:

  • .dll — algemene dynamic link library. Kan zowel gewone codebibliotheken als COM‑servers bevatten.
  • .ocx — vaak gebruikte extensie voor ActiveX‑controls (OLE Controls), technisch ook een DLL maar met specifieke exports en registratievereisten.
  • .ax — DirectShow‑filterbestanden (ook DLL‑achtig) die mediaverwerking verzorgen.
  • .icl, .fon, .fot — voorbeelden van resource DLL‑bestanden (icoon- en lettertypebibliotheken).

Installatie en registratie

Een ActiveX‑control dient geregistreerd te worden zodat Windows weet welke CLSID of ProgID bij het bestand hoort. Veel gebruikte methoden:

  • regsvr32: Het commando regsvr32 pad\bestand.dll registreert (of met /u deregistreert) een control. Let op: gebruik voor 32‑bit controls op 64‑bit Windows de juiste versie van regsvr32 (in SysWOW64 vs System32).
  • Installers: Setupprogramma’s schrijven vaak registry‑sleutels weg en installeren de benodigde bestanden.
  • Registratie-informatie: CLSID, ProgID, typebibliotheken (TLB) en veiligheidssignaturen kunnen in het register terug te vinden zijn.

Gebruik in browsers en toepassingen

Historisch werden ActiveX‑controls veel gebruikt in Internet Explorer om interactieve functionaliteit (zoals mediaspelers, PDF‑viewers, invoegtoepassingen) in webpagina’s toe te voegen. Webpagina’s konden via <object> of <embed> een control inladen. Modernere browsers ondersteunen ActiveX niet of alleen in beperkte/compatibiliteitsmodi. In enterprise‑omgevingen kan Internet Explorer‑modus in Edge gebruikt worden om legacy ActiveX‑toepassingen te draaien.

Beveiliging en risico’s

ActiveX heeft behoorlijke veiligheidsrisico’s wanneer controles met te veel rechten of zonder juiste validatie worden uitgevoerd:

  • Een kwaadaardige of kwetsbare ActiveX‑control kan volledige toegang tot het systeem krijgen en schadelijke code uitvoeren.
  • Security zones en ondertekening: Internet Explorer kon controles alleen toestaan uit bepaalde beveiligingszones of wanneer ze digitaal ondertekend waren.
  • Kill‑bit: Windows kan specifieke ActiveX‑controls uitschakelen via een 'kill‑bit' in het register om misbruik te voorkomen.

Door deze risico’s is het belangrijk alleen vertrouwde, door de uitgever ondertekende controls te installeren en de browser‑/systeeminstellingen beperkt te houden.

Compatibiliteit en moderne alternatieven

ActiveX is sterk verbonden met het Windows‑ecosysteem en met name met Internet Explorer. Omdat moderne webstandaarden (HTML5, JavaScript, WebAssembly) veiliger en platformonafhankelijker zijn, is het gebruik van ActiveX sterk afgenomen. Voor desktopapplicaties worden nu vaak andere componentmodellen gebruikt, zoals .NET‑assemblies, COM+ of losse services/REST‑API’s voor interoperabiliteit.

Veelvoorkomende problemen en oplossingen

  • Niet geregistreerd: Foutmeldingen bij laden — los je vaak op met regsvr32 of door het bestand opnieuw te installeren.
  • 32‑bit vs 64‑bit: Gebruik de juiste regsvr32 en zorg dat de host (32‑bit proces) dezelfde bit‑versie gebruikt als de control.
  • Beveiligingswaarschuwingen: Controleer digitale handtekeningen en beveiligingsinstellingen in de browser of groepbeleid.
  • Kill‑bit ingesteld: Als een control geblokkeerd is via de kill‑bit kun je die niet gebruiken tenzij het register aangepast wordt (alleen aan te raden als je de implicaties begrijpt).

Samenvatting

ActiveX‑controls zijn Windows‑componenten (meestal DLL/OCX) die via COM interfaces functionaliteit beschikbaar maken voor andere applicaties en, historisch, voor webbrowsers. Ze bieden krachtige integratiemogelijkheden maar brengen ook veiligheidsrisico’s met zich mee. Tegenwoordig wordt ActiveX steeds minder gebruikt en vervangen door veiligere, platformonafhankelijke technologieën, maar kennis over registratie, bestandsformaten (zoals .dll, .ocx, .ax) en beveiligingsmaatregelen blijft relevant bij beheer van legacy‑systemen.



Zoek in de encyclopedie
AlegsaOnline.com - 2020 / 2025 - License CC3