Compartilhar via


IMetaDataDispenser::OpenScope Method

Abre um arquivo existente em disco e mapeia seus metadados para a memória.

Syntax

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

Parameters

szScope [in] O nome do arquivo a ser aberto. O arquivo deve conter metadados clr (common language runtime).

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

riid [in] A IID da interface de metadados desejada a ser retornada; o chamador usará a interface para importar (ler) ou emitir metadados (gravação).

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

ppIUnk [out] 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 de "importação" 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 o conjunto não ofRead 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 com suporte do .NET.

Header: Cor.h

Library: CorGuids.lib

See also