Partilhar via


IMetaDataDispenser::OpenScopeOnMemory Method

Abre uma área de memória que contém metadados existentes. Ou seja, esse método abre uma área especificada de memória na qual os dados existentes são tratados como metadados.

Syntax

HRESULT OpenScopeOnMemory (
    [in]  LPCVOID     pData,
    [in]  ULONG       cbData,
    [in]  DWORD       dwOpenFlags,
    [in]  REFIID      riid,
    [out] IUnknown    **ppIUnk
);

Parameters

pData [em] Um ponteiro que especifica o endereço inicial da área de memória.

cbData [em] O tamanho da área de memória, em bytes.

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".

O OpenScopeOnMemory método é semelhante ao método IMetaDataDispenser::OpenScope , exceto que os metadados de interesse já existem na memória, em vez de em um arquivo no disco.

Se a área de destino da memória não contiver metadados CLR (Common Language Runtime), o OpenScopeOnMemory método falhará.

Requirements

Plataforma: Consulte Sistemas operacionais suportados pelo .NET.

Header: Cor.h

Library: CorGuids.lib

See also