Share via


IMetaDataDispenser::OpenScope-Methode

Öffnet eine vorhandene Datei auf dem Datenträger und ordnet ihre Metadaten dem Arbeitsspeicher zu.

Syntax

HRESULT OpenScope (  
    [in]  LPCWSTR     szScope,
    [in]  DWORD       dwOpenFlags,
    [in]  REFIID      riid,
    [out] IUnknown    **ppIUnk  
);  

Parameter

szScope
[in] Der Name der Datei, die geöffnet werden soll. Die Datei muss CLR-Metadaten (Common Language Runtime) enthalten.

dwOpenFlags
[in] Ein Wert der CorOpenFlags-Enumeration, um den Modus (Lese-, Schreibmodus usw.) für das Öffnen anzugeben.

riid
[in] Die IID der gewünschten Metadatenschnittstelle, die zurückgegeben werden soll. Der Aufrufer verwendet die Schnittstelle zum Importieren (Lesen) oder Ausgeben (Schreiben) von Metadaten.

Der Wert von riid muss eine der Import- oder Emit-Schnittstellen angeben. Gültige Werte sind: IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2, IID_IMetaDataImport2.

ppIUnk
[out] Der Zeiger auf die zurückgegebene Schnittstelle.

Bemerkungen

Die In-Memory-Kopie der Metadaten kann mit den Methoden einer der Import-Schnittstellen abgefragt oder mit den Methoden einer der Emit-Schnittstellen ergänzt werden.

Wenn die Zieldatei keine CLR-Metadaten enthält, schlägt die OpenScope-Methode fehl.

Wenn in .NET Framework-Version 1.0 und 1.1 ein Bereich mit dem dwOpenFlags-Wert „ofRead“ geöffnet wird, kann er gemeinsam genutzt werden. Das heißt, wenn nachfolgende Aufrufe von OpenScope den Namen einer zuvor geöffneten Datei übergeben, wird der vorhandene Bereich wiederverwendet und kein neuer Satz von Datenstrukturen erstellt. Aufgrund dieser Freigabe kann es jedoch zu Problemen kommen.

In .NET Framework Version 2.0 werden Bereiche, die mit dem dwOpenFlags-Wert „ofRead“ geöffnet werden, nicht mehr gemeinsam genutzt. Verwenden Sie den Wert „ofReadOnly“, damit der Bereich gemeinsam genutzt werden kann. Wenn ein Bereich freigegeben wurde, schlagen Abfragen mit Schnittstellen zum Lesen und Schreiben von Metadaten fehl.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: Cor.h

Bibliothek: Als Ressource in „MsCorEE.dll“ verwendet

.NET Framework-Versionen: Seit Version 1.0 verfügbar

Siehe auch