Поделиться через


Метод IMetaDataDispenserEx::SetOption

Устанавливает для указанного параметра значение, заданное для текущей области метаданных. Параметр определяет режим обработки вызовов текущей области метаданных.

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

Параметры

  • optionId
    [in] Указатель на идентификатор GUID, определяющий параметры, которые необходимо задать.

  • pValue
    [in] Значение, используемое для назначения параметра. Тип этого значения должен быть разновидностью типа заданного параметра.

Заметки

В следующей таблице перечислены доступные идентификаторы GUID, на которые может указывать параметр optionId, а также соответствующие допустимые значения параметра pValue.

GUID

Описание

Параметр pValue

MetaDataCheckDuplicatesFor

Определяет, какие элементы проверяются на наличие дубликатов. При каждом вызове метода IMetaDataEmit, создающего новый элемент, можно потребовать выполнения проверки существования этого элемента в текущей области. Например, можно потребовать выполнения проверки существования элементов mdMethodDef; в этом случае при вызове метода IMetaDataEmit::DefineMethod он будет проверять, не существует ли такой метод в текущей области. При этой проверке используется ключ, который позволяет однозначно идентифицировать данный метод: родительский тип, имя и сигнатуру.

Должен быть разновидностью UI4 и содержать сочетание значений перечисления CorCheckDuplicatesFor.

MetaDataRefToDefCheck

Задает элементы, на которые указывает ссылка и которые подлежат преобразованию в определения. По умолчанию ядро метаданных будет оптимизировать код, преобразуя элемент, на который указывает ссылка, в его определение, если этот элемент фактически определен в текущей области.

Должен быть разновидностью UI4 и содержать сочетание значений перечисления CorRefToDefCheck.

MetaDataNotificationForTokenMovement

Задает токены, повторное сопоставление которых, происходящее во время слияния метаданных, создает обратные вызовы. Чтобы задать интерфейс IMapToken, нужно воспользоваться методом IMetaDataEmit::SetHandler.

Должен быть разновидностью типа UI4 и содержать сочетание значений перечисления CorNotificationForTokenMovement.

MetaDataSetENC

Задает поведение режима "Изменить и продолжить". За один раз можно задать только один режим работы.

Должен быть разновидностью типа UI4 и содержать сочетание значений перечисления CorSetENC. Значение не является битовой маской.

MetaDataErrorIfEmitOutOfOrder

Задает ошибки выдачи вне очереди, которые приводят к обратным вызовам. Выдача метаданных вне очереди не является неустранимой ошибкой, однако при выдаче вне очереди метаданных, более приоритетных для их ядра, метаданные сжимаются сильнее и, как следствие, их поиск становится более эффективным. Чтобы задать интерфейс IMetaDataError следует воспользоваться методом IMetaDataEmit::SetHandler.

Должен быть разновидностью типа UI4 и содержать сочетание значений перечисления CorErrorIfEmitOutOfOrder.

MetaDataImportOption

Задает элементы, удаленные в режиме "Изменить и продолжить", которые должны извлекаться при помощи перечислителя.

Должен быть разновидностью типа UI4 и содержать сочетание значений перечисления Перечисление CorImportOptions.

MetaDataThreadSafetyOptions

Задает, будут ли на ядро метаданных налагаться блокировки чтения и записи, определяя тем самым, будет ли это ядро потокобезопасным. По умолчанию в ядре предполагается, что доступ осуществляется вызывающим объектом в одном потоке, поэтому блокировки не создаются. За поддержание надлежащего выполнения синхронизации потока при использовании API метаданных отвечают клиенты.

Должен быть разновидностью типа UI4 и содержать сочетание значений перечисления CorThreadSafetyOptions. Значение не является битовой маской.

MetaDataGenerateTCEAdapters

Задает, должно ли средство импорта библиотеки типов создать адаптеры тесно связанных событий (TCE) для контейнеров точек подключения в модели COM.

Должен быть разновидностью типа BOOL. Если параметру pValue присвоено значение true, то средство импорта библиотеки типов создает адаптеры TCE.

MetaDataTypeLibImportNamespace

Задает отличное от заданного по умолчанию пространство имен для импортируемой библиотеки типов.

Должен быть либо значением NULL, либо разновидностью BSTR. Если значение параметра pValue равно NULL, то текущим пространством имен является NULL. В противном случае текущим пространством имен является строка, хранящаяся в разновидности типа BSTR.

MetaDataLinkerOptions

Определяет, должен ли компоновщик создать сборку или файл модуля .NET Framework.

Должен быть разновидностью типа UI4 и содержать сочетание значений перечисления CorLinkerOptions.

MetaDataRuntimeVersion

Задает версию среды CLR, для которой был построен данный образ. Версия хранится в виде строки, например v1.0.3705.

Должен быть значением NULL, значением VT_EMPTY или разновидностью типа BSTR. Если pValue имеет значение NULL, для версии среды выполнения устанавливается значение NULL. Если pValue имеет значение VT_EMPTY, для версии устанавливается значение по умолчанию, извлекаемое из той версии библиотеки Mscorwks.dll, которая выполняет код метаданных. В противном случае версия среды выполнения приравнивается к строке, которая хранится в типе BSTR варианта.

MetaDataMergerOptions

Задает параметры для слияния метаданных.

Должен быть разновидностью типа UI4 и содержать сочетание значений перечисления MergeFlags, описанного в файле CorHdr.h.

Требования

Платформа: см. Требования к системе для .NET Framework.

Заголовок: Cor.h

Библиотека: используется как ресурс в MsCorEE.dll

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0, 1.1, 1.0

См. также

Ссылки

Интерфейс IMetaDataDispenserEx

Интерфейс IMetaDataDispenser