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


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

См. также

Ссылки

Интерфейс IMetaDataDispenser

Интерфейс IMetaDataDispenserEx

Интерфейс IMetaDataAssemblyEmit

Интерфейс IMetaDataEmit

Интерфейс IMetaDataEmit2