Partilhar via


IMetaDataDispenser::OpenScope Method

Abre um arquivo existente no disco e mapeia seus metadados na memória.

Syntax

HRESULT OpenScope (
    [in]  LPCWSTR     szScope,
    [in]  DWORD       dwOpenFlags,
    [in]  REFIID      riid,
    [out] IUnknown    **ppIUnk
);

Parameters

szScope [em] O nome do arquivo a ser aberto. O arquivo deve conter metadados CLR (Common Language Runtime).

dwOpenFlags [em] Um valor da enumeração CorOpenFlags para especificar o modo (leitura, gravação e assim por diante) para abertura.

riid [em] O IID da interface de metadados desejada a ser retornada; O chamador usará a interface para importar (ler) ou emitir (gravar) metadados.

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

ppIUnk [saídas] O ponteiro para a interface retornada.

Remarks

A cópia na memória dos metadados pode ser consultada usando métodos de uma das interfaces "import" ou adicionada ao uso de métodos de uma das interfaces "emit".

Se o arquivo de destino não contiver metadados CLR, o OpenScope método falhará.

Os escopos abertos com dwOpenFlags definido como ofRead não são compartilhados. Use o ofReadOnly valor para permitir que o escopo seja compartilhado. Quando um escopo é compartilhado, as consultas que usam interfaces de metadados de "leitura/gravação" falharão.

Requirements

Plataformas: Consulte Sistemas operacionais suportados pelo .NET.

Header: Cor.h

Library: CorGuids.lib

See also