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


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

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