Поделиться через


Метод IMetaDataDispenser::OpenScopeOnMemory (rometadataapi.h)

Открывает область памяти, содержащую существующие метаданные. То есть этот метод открывает указанную область памяти, в которой существующие данные обрабатываются как метаданные.

Синтаксис

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

Параметры

[in] pData

Указатель, указывающий начальный адрес области памяти.

[in] cbData

Размер области памяти в байтах.

[in] dwOpenFlags

Значение перечисления CorOpenFlags , указывающее режим открытия (чтение, запись и т. д.).

[in] riid

Идентификатор IID нужного интерфейса метаданных, который требуется вернуть; вызывающий объект будет использовать интерфейс для импорта (чтения) или выдачи (записи) метаданных.

Значение riid должно указывать один из интерфейсов import или emit. Допустимые значения: IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 или IID_IMetaDataImport2.

[out] ppIUnk

Указатель на возвращенный интерфейс.

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Копию метаданных в памяти можно запросить с помощью методов из одного из интерфейсов импорта или добавить в методы из одного из интерфейсов выдачи.

Метод OpenScopeOnMemory аналогичен методу OpenScope , за исключением того, что интересующие метаданные уже существуют в памяти, а не в файле на диске.

Если целевая область памяти не содержит метаданные среды CLR, метод OpenScopeOnMemory завершится ошибкой .

Требования

Требование Значение
Целевая платформа Windows
Header rometadataapi.h

См. также раздел

IMetaDataDispenser