IMetaDataDispenser::OpenScopeOnMemory 方法

打开包含现有元数据的内存区域。 即,此方法将打开一个将现有数据视为元数据的指定内存区域。

HRESULT OpenScopeOnMemory (
    [in]  LPCVOID     pData, 
    [in]  ULONG       cbData, 
    [in]  DWORD       dwOpenFlags, 
    [in]  REFIID      riid, 
    [out] IUnknown    **ppIUnk
);

参数

  • pData
    [in] 一个指定内存区域的起始地址的指针。

  • cbData
    [in] 内存区域的大小(以字节为单位)。

  • dwOpenFlags
    [in] 一个 CorOpenFlags 枚举值,用于指定打开模式(读取、写入等)。

  • riid
    [in] 要返回的所需元数据接口的 IID;调用方将使用该接口导入(读取)或发出(写入)元数据。

    riid 的值必须指定一个“导入”或“发出”接口。 有效值包括 IID_IMetaDataEmit、IID_IMetaDataImport、IID_IMetaDataAssemblyEmit、IID_IMetaDataAssemblyImport、IID_IMetaDataEmit2 或 IID_IMetaDataImport2。

  • ppIUnk
    [out] 一个指向返回的接口的指针。

备注

可以查询也可以添加的元数据的内存中副本,其中,查询方法来自“导入”接口之一,添加方法来自“发出”接口之一。

OpenScopeOnMemory 方法与 IMetaDataDispenser::OpenScope 方法类似,只是其相关元数据已在内存中存在,而不在磁盘上的文件中。

如果内存中的目标区域不包含公共语言运行时 (CLR) 元数据,OpenScopeOnMemory 方法将失败。

要求

**平台:**请参见 .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 接口

IMetaDataAssemblyImport 接口

IMetaDataEmit 接口

IMetaDataEmit2 接口

IMetaDataImport 接口

IMetaDataImport2 接口