如何:自定义运行时可调用包装

自定义运行时可调用包装 (RCW) 的方法有两种。 如果可以修改接口定义语言 (IDL) 源,就可以应用类型库文件 (TLB) 特性并导入类型库。 或者,您可以将互用特定特性应用于导入的类型并生成新的程序集。 是否支持自定义标准的 RCW 将受到这些特性的限制。

修改 IDL 源

  1. 将 TLB 特性应用于库、类型、成员和参数。 使用 custom 关键字和特性值来更改元数据。 通过应用 TLB 特性,您可以:

    • 指定导入的 COM 类型的托管名称,而不是允许导入实用工具根据标准转换规则来选择名称。

    • 显式地定义类型在 COM 库中的目标命名空间。

  2. 编译 IDL 源代码。

  3. 从所得类型库文件或从动态链接库文件 (DLL) 中生成一个程序集,其中包含要实现的类型。

修改导入的程序集

  1. 导入类型库文件。 使用类型库导入程序 (Tlbimp.exe) 可生成程序集 DLL。

  2. 使用 MSIL 反汇编程序 (Ildasm.exe) 从导入的程序集中创建一个文本文件。

  3. Interop 特性应用于该文本文件。

  4. 使用 MSIL 汇编程序 (Ilasm.exe) 从已修改的文本文件中生成新的程序集。

请参见

参考

Tlbimp.exe(类型库导入程序)

Ildasm.exe(MSIL 反汇编程序)

Ilasm.exe(MSIL 汇编程序)

概念

自定义标准包装

COM 包装

运行时可调用包装

COM 可调用包装

应用互操作特性

其他资源

有关从类型库转换到程序集的摘要

有关从程序集转换到类型库的摘要