將指定的選項設定為目前元數據範圍的指定值。 選項會控制如何處理對目前元數據範圍的呼叫。
Syntax
HRESULT SetOption (
[in] REFGUID optionId,
[in] const VARIANT *pValue
);
Parameters
optionId [in]GUID 的指標,指定要設定的選項。
pValue [in]要用來設定選項的值。 這個值的型別必須是指定之選項類型的變體。
Remarks
下表列出參數可指向的可用 GUID optionId ,以及參數的 pValue 對應有效值。
| GUID | Description |
pValue 參數 |
|---|---|---|
| MetaDataCheckDuplicatesFor | 控制要檢查哪些專案是否有重複專案。 每次呼叫建立新專案的 IMetaDataEmit 方法時,您可以要求 方法檢查專案是否已存在於目前範圍中。 例如,您可以檢查專案是否存在 mdMethodDef ;在此情況下,當您呼叫 IMetaDataEmit::D efineMethod 時,它會檢查方法是否還不存在於目前範圍中。 這項檢查會使用可唯一識別指定方法的索引鍵:父類型、名稱和簽章。 |
必須是UI4類型的變體,而且必須包含 CorCheckDuplicatesFor 列舉值的組合。 |
| MetaDataRefToDefCheck | 控制哪些參考項目會轉換成定義。 根據預設,如果參考的專案實際定義於目前範圍中,元數據引擎會將參考的項目轉換成其定義,以優化程序代碼。 | 必須是UI4類型的變體,而且必須包含 CorRefToDefCheck 列舉值的組合。 |
| MetaDataNotificationForTokenMovement | 控制元數據合併期間發生的令牌重新對應會產生回呼。 使用 IMetaDataEmit::SetHandler 方法來建立 IMapToken 介面。 | 必須是UI4類型的變體,而且必須包含 CorNotificationForTokenMovement 列舉值的組合。 |
| MetaDataSetENC | 控制編輯後繼續的行為(ENC)。 一次只能設定一種行為模式。 | 必須是UI4類型的變體,而且必須包含 CorSetENC 列舉的值。 值不是位掩碼。 |
| MetaDataErrorIfEmitOutOfOrder | 控制發出順序錯亂的錯誤會產生回呼。 依序發出元數據不是致命的;不過,如果您依元數據引擎偏好的順序發出元數據,元數據會比較精簡,因此可以更有效率地搜尋。
IMetaDataEmit::SetHandler使用方法來建立 IMetaDataError 介面。 |
必須是UI4類型的變體,而且必須包含 CorErrorIfEmitOutOfOrder 列舉值的組合。 |
| MetaDataImportOption | 控制列舉值擷取 ENC 期間刪除的項目種類。 | 必須是UI4類型的變體,而且必須包含 CorImportOptions 列舉 列舉值的組合。 |
| MetaDataThreadSafetyOptions | 控制元數據引擎是否取得讀取器/寫入器鎖定,從而確保線程安全性。 根據預設,引擎會假設存取是由呼叫端單個線程,因此不會取得鎖定。 用戶端負責在使用元數據 API 時維護適當的線程同步處理。 | 必須是UI4類型的變體,且必須包含 CorThreadSafetyOptions 列舉的值。 值不是位掩碼。 |
| MetaDataGenerateTCEAdapters | 控制類型連結庫匯入工具是否應該為 COM 連接點容器產生緊密結合的事件 (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 類型中保留的字串。 |
| MetaDataMergerOptions | 指定合併元數據的選項。 | 必須是UI4類型的變體,而且必須包含 列舉值 MergeFlags 的組合,如 CorHdr.h 檔案中所述。 |
| MetaDataPreserveLocalRefs | 停用將本機參考優化為定義。 | 必須包含 CorLocalRefPreservation 列舉值的組合。 |
Requirements
平臺: 請參閱 .NET 支援的作系統。
Header: Cor.h
Library: CorGuids.lib