Delen via


COM-, DCOM- en typebibliotheken

Component Object Model (COM) en Distributed Component Object Model (DCOM) gebruiken Remote Procedure Calls (RPC) om gedistribueerde onderdeelobjecten te laten communiceren met elkaar. Een COM- of DCOM-interface definieert dus de identiteit en externe kenmerken van een COM-object. Het vormt de manier waarop clients toegang kunnen krijgen tot de methoden en gegevens van een object. Met DCOM is deze toegang mogelijk, ongeacht of de objecten aanwezig zijn in hetzelfde proces, verschillende processen op dezelfde computer of op verschillende computers. Net als bij RPC-client-/serverinterfaces kan een COM- of DCOM-object de functionaliteit op verschillende manieren en via meerdere interfaces beschikbaar maken.

Type bibliotheek

Een typebibliotheek (.tlb) is een binair bestand waarin informatie wordt opgeslagen over de eigenschappen en methoden van een COM- of DCOM-object in een formulier dat tijdens runtime toegankelijk is voor andere toepassingen. Met behulp van een typebibliotheek kan een toepassing of browser bepalen welke interfaces een object ondersteunt en de interfacemethoden van een object aanroepen. Dit kan zelfs gebeuren als het object en de clienttoepassingen zijn geschreven in verschillende programmeertalen. De COM/DCOM-runtimeomgeving kan ook een typebibliotheek gebruiken om automatische cross-apartment, cross-process en cross-machine marshaling te bieden voor interfaces die worden beschreven in typebibliotheken.

Kenmerken van een interface

U definieert de kenmerken van een interface in een IDL-bestand (Interface Definition) en een optioneel toepassingsconfiguratiebestand (ACF):

  • Het IDL-bestand specificeert de kenmerken van de interfaces van de toepassing op de kabel, dat wil gezegd, hoe gegevens moeten worden verzonden tussen client- en server- of tussen COM-objecten.
  • Het ACF-bestand bevat interfacekenmerken, zoals bindingsgrepen, die alleen betrekking hebben op de lokale besturingsomgeving. Het ACF-bestand kan ook opgeven hoe een complexe gegevensstructuur in een machineonafhankelijke vorm moet worden verzonden.

Zie De IDL- en ACF-bestandenvoor meer informatie over IDL- en ACF-bestanden.

De IDL- en ACF-bestanden zijn scripts die zijn geschreven in Microsoft Interface Definition Language (MIDL), de Microsoft-implementatie en uitbreiding van de OSF-DCE interfacedefinitietaal (IDL). Met de Microsoft-extensies voor de IDL-taal kunt u COM-interfaces en typebibliotheken maken. De compiler, Midl.exe, gebruikt deze scripts om C-language stubs en headerbestanden te genereren, evenals type bibliotheekbestanden.

De MIDL-compiler

Afhankelijk van de inhoud van uw IDL-bestand genereert de MIDL-compiler een van de volgende bestanden.

Een C-language proxy/stub-bestand, een interface-id-bestand, een DLL-gegevensbestand en een gerelateerd headerbestand voor een aangepaste COM-interface. De MIDL-compiler genereert deze bestanden wanneer het objectkenmerk wordt aangeroepen in een lijst met interfacekenmerken. Zie Bestanden gegenereerd voor een COM-interfacevoor meer gedetailleerde informatie over deze bestanden.

Een gecompileerd typebibliotheekbestand (.tlb) en gerelateerd headerbestand. MIDL genereert deze bestanden wanneer er een bibliotheek instructie in het IDL-bestand wordt weergegeven. Zie voor algemene informatie over typebibliotheken inhoud van een typebibliotheekin de naslaginformatie over Automation-programmeurs.

C/C++-taalclient- en server-stubbestanden en gerelateerd headerbestand voor een RPC-interface. Deze bestanden worden gegenereerd wanneer er interfaces zijn in het IDL-bestand die niet over het object kenmerk beschikken. Zie Algemene buildprocedurevoor een overzicht van de stub- en headerbestanden. Zie Bestanden gegenereerd voor een RPC-interfacevoor meer gedetailleerde informatie.