Partilhar via


Método IMetaDataDispenser::OpenScope

Abre um ficheiro existente no disco e mapeia os metadados para a memória.

Sintaxe

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

Parâmetros

szScope
[in] O nome do ficheiro a abrir. O ficheiro tem de conter metadados comuns de runtime de idioma (CLR).

dwOpenFlags
[in] Um valor da enumeração CorOpenFlags para especificar o modo (leitura, escrita e assim sucessivamente) para abrir.

riid
[in] O IID da interface de metadados pretendida a devolver; o autor da chamada utilizará a interface para importar (ler) ou emitir metadados (escrita).

O valor de tem de riid 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
[fora] O ponteiro para a interface devolvida.

Observações

A cópia dentro da memória dos metadados pode ser consultada através de métodos de uma das interfaces de "importação" ou adicionada à utilização de métodos a partir de uma das interfaces "emitir".

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

No .NET Framework versão 1.0 e versão 1.1, se for aberto um âmbito com dwOpenFlags definido como deRead, é elegível para partilha. Ou seja, se as chamadas subsequentes para OpenScope transmitir o nome de um ficheiro que foi aberto anteriormente, o âmbito existente for reutilizado e não for criado um novo conjunto de estruturas de dados. No entanto, podem surgir problemas devido a esta partilha.

No .NET Framework versão 2.0, os âmbitos abertos com dwOpenFlags o conjunto de comoRead já não são partilhados. Utilize o valor deReadOnly para permitir que o âmbito seja partilhado. Quando um âmbito é partilhado, as consultas que utilizam interfaces de metadados de "leitura/escrita" falharão.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: Cor.h

Biblioteca: Utilizado como recurso no MsCorEE.dll

.NET Framework Versões: Disponível desde 1.0

Ver também