Freigeben über


Anpassen von Standardwrappern

Aktualisiert: November 2007

Hier finden Sie eine Beschreibung zur benutzerdefinierten Anpassung von Standard-RCWs und CCWs (COM Callable Wrapper).

Runtime Callable Wrapper (RCW)

Wenn ein .NET-Client ein COM-Objekt aktiviert, generiert Common Language Runtime eine Instanz des RCW (Runtime Callable Wrapper), um den COM-Typ einzubinden. Wie die folgende Abbildung zeigt, verwendet Common Language Runtime die von einer importierten COM-Typbibliothek erhaltenen Metadaten, um den RCW zu generieren. Der Wrapper marshallt Daten entsprechend den Regeln, die vom Interop-Marshalldienst festgelegt wurden.

RCW-Generierung und Methodenaufruf

Es gibt zwei Arten der benutzerdefinierten Anpassung eines RCWs. Wenn Sie die IDL (Interface Definition Language)-Quelle verändern können, können Sie die TLB (Type Library File)-Attribute anwenden und die Typbibliothek importieren. Alternativ dazu können Sie auch Interop-spezifische Attribute anwenden, um Typen zu importieren und eine neue Assembly zu generieren. Die Unterstützung benutzerdefinierter Standard-RCWs wird durch diese Attribute eingeschränkt. Entsprechende Anweisungen finden Sie unter Gewusst wie: Anpassen von durch die Laufzeit aufrufbaren Wrappern.

COM Callable Wrapper (CCW)

.NET Framework-Objekte werden COM gegenüber durch einen CCW (COM Callable Wrapper) verfügbar gemacht. Durch Kompilieren eines verwalteten Projekts in eine Assembly-DLL werden automatisch die erforderlichen Metadaten erstellt, um jeden Typ in der Assembly beschreiben zu können. Immer wenn ein COM-Client ein verwaltetes Objekt aktiviert, generiert Common Language Runtime mithilfe dieser Metadaten einen CCW.

Zur benutzerdefinierten Anpassung eines CCWs wenden Sie die Interop-spezifischen Attribute auf den Quellcode an, und kompilieren Sie die Quelle in eine Assembly, wie in der folgenden Abbildung dargestellt. In diesem Beispiel werden verwaltete Typen von Tlbexp.exe in COM konvertiert.

CCW-Generierung und Methodenaufruf

Durch Anwendung von Attributen auf den Code können Sie das Marshallverhalten von Schnittstelle und Daten innerhalb der Grenzen des Interop-Marshalldienstes ändern. Sie können z. B. das Format der Daten steuern, die als Argument einer Methode übergeben werden. Sie können auch steuern, welche Typen in einer Assembly für COM verfügbar gemacht werden.

Siehe auch

Aufgaben

Gewusst wie: Anpassen von durch die Laufzeit aufrufbaren Wrappern

Konzepte

COM-Wrapper

Runtime Callable Wrapper (RCW)

COM Callable Wrapper (CCW)

Anwenden von Interop-Attributen

Referenz

Type Library Importer-Tool (Tlbimp.exe)

MSIL Disassembler-Tool (Ildasm.exe)

Weitere Ressourcen

Zusammenfassung: Konvertieren einer Typbibliothek in eine Assembly

Zusammenfassung: Konvertieren einer Assembly in eine Typbibliothek