Compartilhar via


IMetaDataDispenser::DefineScope Method

Cria uma nova área na memória na qual você pode criar novos metadados.

Syntax

HRESULT DefineScope (
    [in]  REFCLSID    rclsid,
    [in]  DWORD       dwCreateFlags,
    [in]  REFIID      riid,
    [out] IUnknown    **ppIUnk
);

Parameters

rclsid
[in] O CLSID da versão das estruturas de metadados a serem criadas.

dwCreateFlags
[in] Sinalizadores que especificam opções.

riid
[in] A IID da interface de metadados desejada a ser retornada; o chamador usará a interface para criar os novos metadados.

O valor deve riid especificar uma das interfaces de "emitir". Os valores válidos são IID_IMetaDataEmit, IID_IMetaDataAssemblyEmit ou IID_IMetaDataEmit2.

ppIUnk
[out] O ponteiro para a interface retornada.

Remarks

DefineScope cria um conjunto de tabelas de metadados na memória, gera um GUID exclusivo (identificador de versão do módulo ou MVID) para os metadados e cria uma entrada na tabela de módulos para a unidade de compilação que está sendo emitida.

Você pode anexar atributos ao escopo de metadados como um todo usando o método IMetaDataEmit::SetModuleProps ou IMetaDataEmit::D efineCustomAttribute , conforme apropriado.

Requirements

Plataforma: Consulte sistemas operacionais com suporte do .NET.

Header: Cor.h

Library: CorGuids.lib

See also