Метод 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