Метод IMetaDataDispenser::DefineScope
Создает новую область в памяти, в которой можно создавать новые метаданные.
HRESULT DefineScope (
[in] REFCLSID rclsid,
[in] DWORD dwCreateFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk
);
Параметры
rclsid
[in] Идентификатор CLSID версии структур метаданных, который необходимо создать. Это значение должно быть равным CLSID_CorMetaDataRuntime для платформы .NET Framework версии 2.0.dwCreateFlags
[in] Флаги, которые задают параметры. Для платформы .NET Framework 2.0 это значение должно быть равным нулю.riid
[in] Идентификатор IID интерфейса метаданных, который необходимо возвратить; вызывающий объект будет использовать интерфейс для создания новых метаданных.Значение riid должно задать один из интерфейсов "выдачи". Допустимые значения — IID_IMetaDataEmit, IID_IMetaDataAssemblyEmit или IID_IMetaDataEmit2.
ppIUnk
[out] Указатель на возвращенный интерфейс.
Заметки
Метод DefineScope создает набор внутренних таблиц метаданных в памяти, уникальный идентификатор GUID (идентификатор версии модуля, или MVID) для метаданных и запись в таблице модуля, которая будет выдаваться блоком компиляции.
С помощью метода IMetaDataEmit::SetModuleProps или IMetaDataEmit::DefineCustomAttribute атрибуты, при необходимости, можно вложить в область метаданных как единое целое.
Требования
Платформа: см. Требования к системе для .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