Delen via


Inleiding tot COM-interoperabiliteit (Visual Basic)

Met het Component Object Model (COM) kan een object de functionaliteit ervan beschikbaar maken voor andere onderdelen en voor het hosten van toepassingen. Hoewel COM-objecten al vele jaren fundamenteel zijn voor Het programmeren van Windows, bieden toepassingen die zijn ontworpen voor common Language Runtime (CLR) veel voordelen.

.NET Framework-toepassingen vervangen uiteindelijk de toepassingen die zijn ontwikkeld door COM. Tot die tijd moet u mogelijk COM-objecten gebruiken of maken met behulp van Visual Studio. Dankzij interoperabiliteit met COM of COM-interop kunt u bestaande COM-objecten gebruiken terwijl u in uw eigen tempo overstapt naar .NET Framework.

Door .NET Framework te gebruiken om COM-onderdelen te maken, kunt u com-interoperabiliteit zonder registratie gebruiken. Hiermee kunt u bepalen welke DLL-versie is ingeschakeld wanneer er meer dan één versie op een computer is geïnstalleerd en kunnen eindgebruikers XCOPY of FTP gebruiken om uw toepassing te kopiëren naar een geschikte map op hun computer waar deze kan worden uitgevoerd. Zie Registration-Free COM Interop voor meer informatie.

Beheerde code en gegevens

Code die is ontwikkeld voor .NET Framework wordt beheerde code genoemd en bevat metagegevens die door de CLR worden gebruikt. Gegevens die door .NET Framework-toepassingen worden gebruikt, worden beheerde gegevens genoemd omdat de runtime gegevensgerelateerde taken beheert, zoals het toewijzen en vrijmaken van geheugen en het uitvoeren van typecontrole. Visual Basic .NET maakt standaard gebruik van beheerde code en gegevens, maar u hebt toegang tot de niet-beheerde code en gegevens van COM-objecten met behulp van interop-assembly's (verderop op deze pagina beschreven).

Assemblages

Een assembly is de primaire bouwsteen van een .NET Framework-toepassing. Het is een verzameling van functionaliteit die is gebouwd, versie beheerd en geïmplementeerd als één implementatie-eenheid met een of meer bestanden. Elke assembly bevat een assembly-manifest.

Typebibliotheken en assembly-manifesten

Typebibliotheken beschrijven kenmerken van COM-objecten, zoals lidnamen en gegevenstypen. Assemblymanifesten voeren dezelfde functie uit voor .NET Framework-toepassingen. Ze bevatten informatie over het volgende:

  • Assembly-identiteit, versie, cultuur en digitale handtekening.

  • Bestanden waaruit de assembly-implementatie bestaat.

  • Typen en bronnen die de samenstelling vormen. Dit geldt ook voor de geëxporteerde gegevens.

  • Compileertijdafhankelijkheden voor andere assembly's.

  • Rechten die nodig zijn om de assembly correct te laten draaien.

Zie Assembly's in .NET voor meer informatie over assembly's en assemblymanifesten.

Typebibliotheken importeren en exporteren

Visual Studio bevat een hulpprogramma, Tlbimp, waarmee u gegevens uit een typebibliotheek kunt importeren in een .NET Framework-toepassing. U kunt typebibliotheken van assembly's genereren met behulp van het hulpprogramma Tlbexp.

Zie Tlbimp.exe (Type Library Importer) en Tlbexp.exe (Type Library Exporter) voor informatie over Tlbimp en Tlbexp.

Interop-assemblies

Interop-assemblies zijn .NET Framework-assemblies die een brug vormen tussen beheerde en onbeheerde code, waarbij COM-objectleden worden gemapt aan gelijkwaardige door de .NET Framework beheerde leden. Interop assemblies die zijn gemaakt door Visual Basic .NET verwerken veel van de details van het werken met COM-objecten, zoals interoperabiliteitsmarshalling.

Interoperabiliteit Marshalling

Alle .NET Framework-toepassingen delen een set algemene typen die interoperabiliteit van objecten mogelijk maken, ongeacht de programmeertaal die wordt gebruikt. De parameters en retourwaarden van COM-objecten gebruiken soms gegevenstypen die verschillen van die in beheerde code worden gebruikt. Interoperabiliteits marshalling is het proces van het verpakken van parameters en geretourneerde waarden in gelijkwaardige gegevenstypen bij verplaatsing van en naar COM-objecten. Zie Interop Marshaling voor meer informatie.

Zie ook