共用方式為


IMetaDataDispenser::DefineScope 方法

更新:2007 年 11 月

在記憶體中建立新的區域,可在此建立新的中繼資料。

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

參數

  • rclsid
    [in] 要建立之中繼資料結構版本的 CLSID。對於 .NET Framework 2.0 版,這個值必須是 CLSID_CorMetaDataRuntime。

  • dwCreateFlags
    [in] 指定選項的旗標。對於 .NET Framework 2.0,這個值必須是零。

  • riid
    [in] 要傳回之所需中繼資料介面的 IID,呼叫端會使用此介面來建立新的中繼資料。

    riid 的值必須指定「發出」介面的其中一個。有效值為 IID_IMetaDataEmit、IID_IMetaDataAssemblyEmit 或 IID_IMetaDataEmit2。

  • ppIUnk
    [out] 傳回之介面的指標。

備註

DefineScope 會建立一組記憶體中的中繼資料表、產生中繼資料的唯一 GUID (模組版本識別項或 MVID),而且會在模組資料表中建立所發出之編譯單位的項目。

您可以視需要使用 IMetaDataEmit::SetModulePropsIMetaDataEmit::DefineCustomAttribute 方法,將屬性附加至整個中繼資料範圍。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**Cor.h

**程式庫:**當做 MsCorEE.dll 中的資源使用

**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

請參閱

參考

IMetaDataDispenser

IMetaDataDispenserEx

IMetaDataAssemblyEmit

IMetaDataEmit

IMetaDataEmit2