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