COM Interop - COM Interop

COM Interop ist eine in der Common Language Runtime (CLR) von .NET Framework enthaltene Technologie, mit der COM-Objekte ( Component Object Model ) mit .NET-Objekten interagieren können und umgekehrt .

COM Interop soll den Zugriff auf die vorhandenen COM-Komponenten ermöglichen, ohne dass die ursprüngliche Komponente geändert werden muss. Es wird versucht, die .NET-Typen den COM-Typen gleichzusetzen. Darüber hinaus ermöglicht COM Interop COM-Entwicklern den Zugriff auf verwaltete Objekte genauso einfach wie den Zugriff auf andere COM-Objekte.

Interop-Tools

Tools zur Unterstützung einer COM-Komponente mithilfe einer .NET-Assembly

Das .NET Framework erstellt eine Typbibliothek und spezielle Registrierungseinträge, wenn eine Komponente registriert wird. Es bietet ein spezielles Dienstprogramm ( RegAsm.exenormalerweise in C:\Windows\Microsoft.NET\Framework), das die verwalteten Typen in eine Typbibliothek exportiert und die verwaltete Komponente als herkömmliche COM-Komponente registriert. Wenn der Typ über COM instanziiert wird, ist die .NET- CLR das eigentliche COM-Objekt, das ausgeführt wird, und führt lediglich alle Methodenaufrufe oder den Eigenschaftszugriff auf die Typimplementierung durch.

Registrierungsfreies COM kann verwendet werden, um die Hölle der DLLs zu vermeiden .

Tools zur Unterstützung einer .NET-Assembly mithilfe einer COM-Komponente

Ein COM-Interop für eine vorhandene COM-Komponente kann mithilfe des im Tlbimp.exeLieferumfang des .NET Framework SDK enthaltenen Tools erstellt werden. Dieses Tool erstellt eine Reihe von in CIL implementierten Proxy-Klassen, die in einer Assembly gekapselt sind .

Einzelheiten

COM Interop bietet automatisch die folgenden Dienste, um die COM-Nutzung von .NET zu vereinfachen:

  • Konvertierung zwischen COM-Typen und entsprechenden .NET-Typen.
  • Übersetzung von retvalArgumenten in Rückgabewerte.
  • Übersetzung von HRESULT-Rückgabewerten in Ausnahmen.

Verweise