Метод IMetaDataDispenser::OpenScope
Открывает существующий файл на диске и сопоставляет его метаданные с памятью.
Синтаксис
HRESULT OpenScope (
[in] LPCWSTR szScope,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk
);
Параметры
szScope
[in] Имя открываемого файла. Файл должен содержать метаданные среды CLR.
dwOpenFlags
[in] Значение перечисления CorOpenFlags , указывающее режим (чтение, запись и т. д.) для открытия.
riid
[in] Идентификатор IID нужного интерфейса метаданных, который требуется вернуть; вызывающий объект будет использовать интерфейс для импорта (чтения) или выдачи (записи) метаданных.
Значение riid
должно указывать один из интерфейсов import или emit. Допустимые значения: IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 или IID_IMetaDataImport2.
ppIUnk
[out] Указатель на возвращенный интерфейс.
Комментарии
Копия метаданных в памяти может быть запрошена с помощью методов из одного из интерфейсов импорта или добавлена в методы из одного из интерфейсов выдачи.
Если целевой файл не содержит метаданные СРЕДЫ CLR, метод завершится ошибкой OpenScope
.
В платформа .NET Framework версии 1.0 и 1.1, если область открыт с dwOpenFlags
параметром ofRead, он имеет право на общий доступ. Это значит, что при последующих вызовах для OpenScope
передачи имени ранее открытого файла существующий область повторно используется, а новый набор структур данных не создается. Однако из-за этого общего доступа могут возникнуть проблемы.
В платформа .NET Framework версии 2.0 области, открытые с dwOpenFlags
параметром ofRead, больше не являются общими. Используйте значение ofReadOnly, чтобы разрешить общий доступ к область. При совместном использовании область запросы, использующие интерфейсы метаданных для чтения и записи, завершаются ошибкой.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: Cor.h
Библиотека: Используется в качестве ресурса в MsCorEE.dll
платформа .NET Framework версии: доступно с версии 1.0.