Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het Microsoft Component Object Model (COM) is een platformonafhankelijk, gedistribueerd, objectgeoriënteerd systeem voor het maken van binaire softwareonderdelen die kunnen communiceren. COM is de basistechnologie voor OLE (samengestelde documenten), ActiveX (onderdelen met internet) en andere onderdelen van Microsoft.
Om COM (en dus alle COM-technologieën) te begrijpen, is het van cruciaal belang om te begrijpen dat het geen objectgeoriënteerde taal is, maar een standaard. Com geeft ook niet aan hoe een toepassing moet worden gestructureerd; taal-, structuur- en implementatiedetails worden overgelaten aan de toepassingsontwikkelaar. In plaats daarvan geeft COM een objectmodel en programmeervereisten op waarmee COM-objecten (ook wel COM-onderdelen genoemd, of soms gewoon objecten) kunnen communiceren met andere objecten. Deze objecten kunnen zich binnen één proces, in andere processen bevinden en zich zelfs op externe computers bevinden. Ze kunnen in verschillende talen worden geschreven en ze kunnen structureel niet hetzelfde zijn, daarom wordt COM aangeduid als een binaire standaard; een standaard die van toepassing is nadat een programma is vertaald naar binaire machinecode.
De enige taalvereiste voor COM is dat code wordt gegenereerd in een taal die structuren van aanwijzers kan maken en functies expliciet of impliciet kan aanroepen via aanwijzers. Objectgeoriënteerde talen zoals C++ en Smalltalk bieden programmeermechanismen waarmee de implementatie van COM-objecten wordt vereenvoudigd, maar talen zoals C, Java en VBScript kunnen worden gebruikt om COM-objecten te maken en te gebruiken.
COM definieert de essentiële aard van een COM-object. Over het algemeen bestaat een softwareobject uit een set gegevens en de functies die de gegevens manipuleren. Een COM-object is een object waarin de toegang tot de gegevens van een object uitsluitend wordt bereikt via een of meer sets gerelateerde functies. Deze functiesets worden interfacesgenoemd en de functies van een interface worden methodengenoemd. Bovendien vereist COM dat de enige manier om toegang te krijgen tot de methoden van een interface, is via een aanwijzer naar de interface.
Naast het opgeven van de standaard binaire object standaard definieert COM bepaalde basisinterfaces die functies bieden die gemeenschappelijk zijn voor alle COM-technologieën en het biedt een klein aantal functies die alle onderdelen nodig hebben. COM definieert ook hoe objecten samenwerken via een gedistribueerde omgeving en heeft beveiligingsfuncties toegevoegd om systeem- en onderdeelintegriteit te bieden.
In de volgende onderwerpen in deze sectie worden eenvoudige COM-problemen beschreven met betrekking tot het ontwerpen van COM-objecten:
- COM-objecten en -interfaces
- IUnknown- gebruiken en implementeren
- Objecten opnieuw gebruiken
- de COM-bibliotheek
- Geheugentoewijzing beheren