Compartilhar via


Método IMetaDataDispenser::OpenScopeOnMemory (rometadataapi.h)

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

Sintaxe

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

Parâmetros

[in] pData

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

[in] cbData

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

[in] dwOpenFlags

Um valor da enumeração CorOpenFlags para especificar o modo (leitura, gravação e assim por diante) para abertura.

[in] riid

O IID da interface de metadados desejada a ser retornada; o chamador usará a interface para importar (ler) ou emitir metadados (gravação).

O valor de riid deve 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.

[out] ppIUnk

O ponteiro para a interface retornada.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

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 método OpenScopeOnMemory é semelhante ao método 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 método OpenScopeOnMemory falhará.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho rometadataapi.h

Confira também

Imetadatadispenser