HOW TO:自訂執行階段可呼叫包裝函式

有兩種方式可以自訂執行階段可呼叫包裝函式 (RCW)。 如果您可以修改介面定義語言 (IDL) 原始程式碼,您可以套用型別程式庫檔案 (TLB) 屬性,並且匯入型別程式庫。 要不然,您可以將 Interop 專屬屬性套用至匯入型別,並且產生新的組件。 對自訂標準 RCW 的支援會受這些屬性的限制。

若要修改 IDL 原始程式

  1. 將 TLB 屬性套用至程式庫、型別、成員和參數。 使用 custom 關鍵字和屬性值來變更中繼資料。 藉由套用 TLB 屬性,您可以:

    • 指定匯入 COM 型別的 Managed 名稱,而不要讓匯入公用程式依據標準轉換規則選取名稱。

    • 對 COM 程式庫中的型別明確地定義目的端命名空間 (Namespace)。

  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 可呼叫包裝函式

套用 Interop 屬性

其他資源

型別程式庫至組件轉換的摘要

組件至型別程式庫轉換的摘要