共用方式為


IMetaDataDispenserEx::SetOption 方法

更新:2007 年 11 月

針對目前的中繼資料範圍,將指定的選項設為指定值。此選項會控制目前中繼資料範圍之呼叫的處理方式。

HRESULT SetOption (
    [in] REFGUID optionId, 
    [in] const VARIANT *pValue
);

參數

  • optionId
    [in] GUID 的指標,指定要設定的選項。

  • pValue
    [in] 用來設定選項的值。此值的型別必須是指定之選項型別的變數。

備註

下表列出 optionId 參數可指向的可用 GUID,以及 pValue 參數對應的有效值。

GUID

選項

pValue 參數

MetaDataCheckDuplicatesFor

重複的檢查。控制檢查哪些項目是重複的,以及不檢查哪些項目。也就是說,每次您呼叫會建立新項目的 IMetaDataEmit 方法時,可以要求此方法檢查目前範圍中是否已存在此項目。例如,您可以要求檢查 mdMethodDef 項目,在此案例中,當您呼叫 IMetaDataEmit::DefineMethod 時,它便檢查到此方法並未存在於目前範圍中。這項檢查使用唯一識別指定之方法的索引鍵:父型別、名稱和簽章。

必須是型別 UI4 的變數,而且包含 CorCheckDuplicatesFor 列舉型別值的組合。

MetaDataRefToDefCheck

參考至定義最佳化。控制哪些參考的項目已轉換為定義。根據預設,如果參考的項目實際上是在目前範圍中定義的,則中繼資料引擎會將參考的項目轉換為其定義,來最佳化程式碼。

必須是型別 UI4 的變數,而且包含 CorRefToDefCheck 列舉型別值的組合。

MetaDataNotificationForTokenMovement

對語彙基元移動的告知。控制中繼資料合併期間所發生的哪些語彙基元重新對應會產生回呼。使用 IMetaDataEmit::SetHandler 方法建立您的 IMapToken 介面。

必須是型別 UI4 的變數,而且包含 CorNotificationForTokenMovement 列舉型別值的組合。

MetaDataSetENC

ENC 模式。控制編輯後繼續 (ENC) 的行為。每次只能設定一個行為模式。

必須是型別 UI4 的變數,而且包含 CorSetENC 列舉型別的值。此值不是位元遮罩。

MetaDataErrorIfEmitOutOfOrder

不按順序發出。控制哪些「不按順序發出的」錯誤會產生回呼。不按順序發出中繼資料不是嚴重錯誤,不過,如果按照中繼資料引擎偏好的順序發出中繼資料,則中繼資料會比較精簡,因此可以更有效率地進行搜尋。使用 IMetaDataEmit::SetHandler 方法建立您的 IMetaDataError 介面。

必須是型別 UI4 的變數,而且包含 CorErrorIfEmitOutOfOrder 列舉型別值的組合。

MetaDataImportOption

匯入選項。控制 ENC 期間所刪除的哪些項目類型會由列舉值擷取。

必須是型別 UI4, 的變數,而且包含 CorImportOptions 列舉值的組合。

MetaDataThreadSafetyOptions

執行緒安全的選項。控制中繼資料引擎是否會取得讀取器/寫入器鎖定,因此確保執行緒安全。根據預設,引擎會假設呼叫端的存取是單一執行緒,所以不會取得鎖定。用戶端在使用中繼資料 API 時,應負責維護適當的執行緒同步處理。

必須是型別 UI4 的變數,而且包含 CorThreadSafetyOptions 列舉型別的值。此值不是位元遮罩。

MetaDataGenerateTCEAdapters

產生 TCE 配接器 (Adapter)。控制型別程式庫匯入工具是否應產生 COM 連接點 (Connection Point) 容器的緊密耦合事件 (Tightly Coupled Event,TCE) 配接器。

必須是型別 BOOL 的變數。如果 pValue 設為 true,則型別程式庫匯入工具會產生 TCE 配接器。

MetaDataTypeLibImportNamespace

命名空間。為正在匯入的型別程式庫指定非預設的命名空間。

必須是 null 值或型別 BSTR 的變數。如果 pValue 為 null 值,則目前的命名空間會設為 null,否則目前的命名空間會設為此變數 BSTR 型別中所保留的字串。

MetaDataLinkerOptions

連結器選項。控制連結器應產生組件還是 .NET 模組檔案。

必須是型別 UI4 的變數,而且包含 CorLinkerOptions 列舉型別值的組合。

MetaDataRuntimeVersion

執行階段版本。指定針對它建置此映像的 Common Language Runtime 版本。此版本是以字串方式儲存,例如 "v1.0.3705"。

必須是 null 值、VT_EMPTY 值或型別 BSTR 的變數。如果 pValue 為 null,則此執行階段版本會設為 null。如果 pValue 為 VT_EMPTY,則此版本會設為預設值 (從中繼資料程式碼正於其中執行的 Mscorwks.dll 版本擷取),否則執行階段版本會設為變數之 BSTR 型別中所保留的字串。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**Cor.h

**程式庫:**當做 MsCorEE.dll 中的資源使用

**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

請參閱

參考

IMetaDataDispenserEx

IMetaDataDispenser