IMetaDataDispenserEx::SetOption 方法 (rometadataapi.h)
将指定选项设置为当前元数据范围的给定值。 该选项控制如何处理对当前元数据范围的调用。
语法
HRESULT SetOption(
[in] REFGUID optionId,
[in] const VARIANT *pValue
);
参数
[in] optionId
指向 GUID 的指针,该 GUID 指定要设置的选项。
[in] pValue
用于设置选项的值。 此值的类型必须是指定选项类型的变体。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
下表列出了 optionId 参数可以指向的可用 GUID 以及 pValue 参数的相应有效值。
GUID | 描述 | pValue 参数 |
---|---|---|
MetaDataCheckDuplicatesFor | 控制检查哪些项是否有重复项。 | 必须是类型 UI4 的变量,并且必须包含 CorCheckDuplicatesFor 枚举的值的组合。 |
MetaDataRefToDefCheck | 控制将哪些引用项转换为定义。 默认情况下,如果在当前范围内实际定义了引用项,则元数据引擎将通过将引用项转换为其定义来优化代码。 | 必须是类型 UI4 的变量,并且必须包含 CorRefToDefCheck 枚举的值的组合。 |
MetaDataNotificationForTokenMovement | 控制在元数据合并期间发生的哪些令牌重映射会生成回调。 | 必须是类型 UI4 的变量,并且必须包含 CorNotificationForTokenMovement 枚举的值的组合。 |
MetaDataSetENC | 控制“编辑并继续”(ENC) 行为。 一次只能设置一种行为模式。 | 必须是类型 UI4 的变体,并且必须包含 CorSetENC 枚举的值。 该值不是位掩码。 |
MetaDataErrorIfEmitOutOfOrder | 控制哪些“乱序发送”错误生成回调。 不按顺序发出元数据不是灾难性的错误;但是,如果以元数据引擎所采用的顺序发出元数据,则元数据将更紧凑,因此搜索会更有效。 | 必须是类型 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 Framework 模块文件。 | 必须是类型 UI4 的变量,并且必须包含 CorLinkerOptions 枚举的值的组合。 |
MetaDataRuntimeVersion | 指定生成此映像所基于的公共语言运行时版本。 版本存储为字符串,如“v1.0.3705”。 | 必须为 null 值、VT_EMPTY 值或类型 BSTR 的变体。 如果 pValue 为 null,则运行时版本设置为 null。 如果 pValue 为VT_EMPTY,则版本设置为默认值,该值取自运行元数据代码的 Mscorwks.dll 版本。 否则,运行时版本设置为变量的 BSTR 类型中保留的字符串。 |
MetaDataMergerOptions | 指定用于合并元数据的选项。 | 必须是 UI4 类型的变体,并且必须包含 MergeFlags 枚举的值的组合,如 CorHdr.h 文件中所述。 |
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | rometadataapi.h |