Share via


IMetaDataDispenser::DefineScope-Methode

Erstellt einen neuen Bereich im Arbeitsspeicher, in dem Sie neue Metadaten erstellen können.

Syntax

HRESULT DefineScope (  
    [in]  REFCLSID    rclsid,  
    [in]  DWORD       dwCreateFlags,  
    [in]  REFIID      riid,
    [out] IUnknown    **ppIUnk  
);  

Parameter

rclsid
[in] Die CLSID der Version der zu erstellenden Metadatenstrukturen. Für .NET Framework-Version 2.0 muss dieser Wert „CLSID_CorMetaDataRuntime“ lauten.

dwCreateFlags
[in] Flags, die Optionen angeben. Für .NET Framework 2.0 muss dieser Wert 0 (null) sein.

riid
[in] Die IID der gewünschten Metadatenschnittstelle, die zurückgegeben werden soll. Der Aufrufer verwendet die Schnittstelle zum Erstellen der neuen Metadaten.

Der Wert von riid muss eine der Emit-Schnittstellen angeben. Gültige Werte sind „IID_IMetaDataEmit“, „IID_IMetaDataAssemblyEmit“ oder „IID_IMetaDataEmit2“.

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

Bemerkungen

DefineScope erstellt eine Reihe von Metadatentabellen im Arbeitsspeicher, generiert eine eindeutige GUID (Modulversionsbezeichner oder MVID) für die Metadaten und erstellt einen Eintrag in der Modultabelle für die ausgegebene Kompilierungseinheit.

Sie können Attribute an den gesamten Metadatenbereich anfügen. Dazu verwenden Sie je nach Bedarf die Methode IMetaDataEmit::SetModuleProps oder IMetaDataEmit::DefineCustomAttribute.

Anforderungen

Plattform: Informationen finden Sie unter Systemanforderungen.

Header: Cor.h

Bibliothek: Als Ressource in „MsCorEE.dll“ verwendet

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

Weitere Informationen