Compartilhar via


Método de IMetaDataDispenser::OpenScope

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

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

Parâmetros

  • szScope
    [in] O nome do arquivo a ser aberto. O arquivo deve conter metadados comuns de runtime (CLR) de idioma.

  • dwOpenFlags
    [in] Um valor igual a CorOpenFlags enumeração para especificar o modo (leitura, gravação e assim por diante) para abri-lo.

  • riid
    [in] O IID da interface desejado de metadados a serem retornadas; o chamador usará a interface para importar (ler) ou emitir os metadados (gravação).

    O valor de riid deve especificar um dos "Importar" ou "emitir" interfaces. 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 retornado.

Comentários

A cópia na memória dos metadados pode ser consultada usando métodos de um dos "Importar" interfaces ou adicionados usando os métodos de um da "emitir" interfaces.

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

No.NET Framework versão 1.0 e 1.1, se um escopo é aberto com dwOpenFlags definido como ofRead, está qualificado para o compartilhamento. Ou seja, se subseqüentes chamadas para OpenScope passar o nome de um arquivo que foi aberto anteriormente, o escopo existente é reutilizado e um novo conjunto de estruturas de dados não é criado. No entanto, podem surgir problemas devido a esse compartilhamento.

No.NET Framework versão 2.0, os escopos aberto com dwOpenFlags definido como ofRead não são mais compartilhados. Use o valor de ofReadOnly para permitir que o escopo a ser compartilhada. Quando um escopo é compartilhado, consultas que use "leitura" interfaces de metadados falhará.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: Cor.h

Biblioteca: Usado como um recurso em mscoree

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Consulte também

Referência

Interface de IMetaDataDispenser

Interface de IMetaDataDispenserEx

Interface de IMetaDataAssemblyEmit

Interface de IMetaDataAssemblyImport

Interface de IMetaDataEmit

Interface de IMetaDataEmit2

Interface de IMetaDataImport

Interface de IMetaDataImport2