IMetaDataDispenserEx::SetOption Method

将指定的选项设置为当前元数据范围的给定值。 该选项控制如何处理对当前元数据范围的调用。

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 指定生成此映像的公共语言运行时的版本。 版本以字符串的形式存储,例如“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

See also