Freigeben über


Verfügbar machen von COM in .NET Compact Framework-Komponenten

Aktualisiert: November 2007

Ab .NET Compact Framework, Version 2.0, können Sie COM-Objekte über verwalteten Code aufrufen. Mit dem in der Vollversion von .NET Framework enthaltenen Type Library Importer-Tool (Tlbimp.exe) können Sie auch eine Bibliothek importieren, während Sie in Visual Studio einen Typbibliotheksverweis zu einem Projekt hinzufügen können. Eine importierte Typbibliothek wird auch als Interop-Assembly bezeichnet, da sie Definitionen von COM-Typen enthält, die in den Metadaten beschrieben sind.

Wenn Speicher im systemeigenen Code, der ursprünglich im verwalteten Code zugeordnet worden war, nach der Rückgabe des Aufrufs der systemeigenen Funktion weiterhin durch eine systemeigene Codebibliothek gespeichert wird, muss das systemeigene Bibliothekobjekt im verwalteten Code fixiert werden, damit der Garbage Collector es nicht verschiebt oder einsammelt. Verwenden Sie die GCHandle-Struktur, um das Objekt festzulegen.

Verwalteter Code muss für die Abstimmung der Datentypen auf die richtigen Byte-Grenzen, die für das systemeigene Betriebssystem angegeben werden, verantwortlich sein. Dieser Vorgang wird als Packen bezeichnet.

Es gibt drei Aufgaben, bei denen COM-Objekte in .NET Compact Framework aufgerufen werden:

  1. Erstellen verwalteter Definitionen der COM-Schnittstellen und -Typen.

  2. Verweisen auf diese Definitionen im Projekt.

  3. Verwenden der COM-Schnittstellen und -Typen als verwaltete Typen.

Sie können verwaltete Definitionen auch manuell codieren.

Verweisen auf Interop-Assemblys

Interop-Assemblys sind importierte Typbibliotheken, die Definitionen von COM-Typen enthalten, die in den vom Typbibliothek-Importierprogramm oder von Visual Studio generierten Metadaten beschrieben werden.

Um beim Erstellen von Projekten auf die Interop-Assembly zu verweisen, verwenden Sie bei Befehlszeilencompilern den /r:-Schalter. Dies geschieht automatisch, wenn Sie in Visual Studio einen Verweis auf eine Typbibliothek hinzufügen.

Verwenden von COM-Typen als verwaltete Typen

Der Klasse werden während des Imports Member der Standardschnittstelle hinzugefügt. Der IDispatch-Aufruf bzw. der IUnknown-Aufruf, QueryInterface und die COM-Verweiszählung werden automatisch durchgeführt. Ausnahmen werden Fehler-HRESULT-Werte automatisch zugeordnet.

Nach dem Import eines COM-Typs können Sie diesen bei Programmieraufgaben wie den folgenden wie jeden anderen verwalteten Typ verwenden:

  • Erstellen von Instanzen mit dem new-Schlüsselwort (New in Visual Basic).

  • Abfangen von Ausnahmen.

  • Direkter Aufruf über die Klasse.

  • Vermeiden der Wahl zwischen IDispatch-Aufrufen und IUnknown-Aufrufen.

  • Konvertieren in bestimmte Schnittstellen je nach Bedarf.

Siehe auch

Weitere Ressourcen

Interoperabilität in .NET Compact Framework