IMetaDataDispenser::DefineScope 方法

创建可在其中创建新元数据的新内存区域。

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 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

请参见

参考

IMetaDataDispenser 接口

IMetaDataDispenserEx 接口

IMetaDataAssemblyEmit 接口

IMetaDataEmit 接口

IMetaDataEmit2 接口