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 方法将失败。

要求

平台:请参阅系统要求

标头:Cor.h

库:用作 MsCorEE.dll 中的资源

.NET Framework 版本:自 1.0 起可用

另请参阅