Метод 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 |