Gewusst wie: Anpassen von durch die Laufzeit aufrufbaren Wrappern

Es gibt zwei Möglichkeiten, einen Runtime Callable Wrapper (RCW) anzupassen. 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.

So modifizieren Sie die IDL-Quelle

  1. Wenden Sie die TLB-Attribute auf Bibliotheken, Typen, Member und Parameter an. Verwenden Sie das Schlüsselwort custom und einen Attributwert, um die Metadaten zu ändern. Durch die Anwendung von TLB-Attributen haben Sie folgende Möglichkeiten:

    • Sie können den verwalteten Namen eines importierten COM-Typs festlegen, anstatt dem Importdienstprogramm die Auswahl des Namens nach Standardkonvertierungsregeln zu überlassen.

    • Sie können für die Typen in einer COM-Bibliothek explizit einen Namespace für das Ziel definieren.

  2. Sie können den IDL-Quellcode kompilieren.

  3. Sie können eine Assembly aus der resultierenden Typbibliotheksdatei oder einer DLL (Dynamic Link Library)-Datei generieren, die den zu implementierenden Typ enthält.

So modifizieren Sie eine importierte Assembly

  1. Importieren Sie die Typbibliotheksdatei. Generieren Sie eine Assembly-DLL mit dem Type Library Importer-Tool (Tlbimp.exe)

  2. Erstellen Sie aus der importierten Assembly mit dem MSIL Disassembler-Tool (Ildasm.exe) eine Textdatei.

  3. Wenden Sie Interop-Attribute auf die Textdatei an.

  4. Generieren Sie aus der modifizierten Textdatei mit dem MSIL-Assembler-Tool (Ildasm.exe) eine neue Assembly.

Siehe auch

Referenz

Tlbimp.exe (Type Library Importer-Tool)

Ildasm.exe (MSIL Disassembler-Tool)

Ilasm.exe (MSIL-Assembler)

Konzepte

Anpassen von Standardwrappern

COM-Wrapper

Runtime Callable Wrapper (RCW)

COM Callable Wrapper (CCW)

Anwenden von Interop-Attributen

Weitere Ressourcen

Zusammenfassung: Konvertieren einer Typbibliothek in eine Assembly

Zusammenfassung: Konvertieren einer Assembly in eine Typbibliothek