Compartilhar 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 [in] Um ponteiro que especifica o endereço inicial da área de memória.

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

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

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 em 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 com suporte do .NET.

Header: Cor.h

Library: CorGuids.lib

See also