HOW TO:自訂執行階段可呼叫包裝函式
更新:2007 年 11 月
有兩種方式可以自訂執行階段可呼叫包裝函式 (RCW)。如果您可以修改介面定義語言 (IDL) 原始程式碼,您可以套用型別程式庫檔案 (TLB) 屬性,並且匯入型別程式庫。要不然,您可以將 Interop 專屬屬性套用至匯入型別,並且產生新的組件。對自訂標準 RCW 的支援會受這些屬性的限制。
若要修改 IDL 原始程式
將 TLB 屬性套用至程式庫、型別、成員和參數。使用 custom 關鍵字和屬性值來變更中繼資料。藉由套用 TLB 屬性,您可以:
指定匯入 COM 型別的 Managed 名稱,而不要讓匯入公用程式依據標準轉換規則選取名稱。
對 COM 程式庫中的型別明確地定義目的端命名空間 (Namespace)。
編譯 IDL 原始程式碼。
從產生的型別程式庫檔案,或從含有您想要實作之型別的動態連結程式庫檔案 (DLL) 產生組件。
若要修改匯入的組件
匯入型別程式庫檔案。使用型別程式庫匯入工具 (Tlbimp.exe) 產生組件 DLL。
使用 MSIL 反組譯工具 (Ildasm.exe) 從匯入的組件建立文字檔。
將 Interop 屬性套用到這個文字檔。
使用 MSIL 組譯工具 (Ilasm.exe) 從修改過的文字檔建立新的組件。