IMetaDataDispenser::OpenScopeOnMemory 方法 (rometadataapi.h)

打开包含现有元数据的内存区域。 也就是说,此方法将打开指定的内存区域,其中的现有数据将视同元数据处理。

语法

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

参数

[in] pData

一个指定内存区域起始地址的指针。

[in] cbData

内存区域的大小(以字节为单位)。

[in] dwOpenFlags

CorOpenFlags 枚举的值,用于指定打开) (读取、写入等模式。

[in] riid

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

riid 的值必须指定“import”或“emit”接口之一。 有效值为 IID_IMetaDataEmitIID_IMetaDataImportIID_IMetaDataAssemblyEmitIID_IMetaDataAssemblyImportIID_IMetaDataEmit2IID_IMetaDataImport2

[out] ppIUnk

指向返回的接口的指针。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

可以使用其中一个“导入”接口中的方法查询元数据的内存中副本,或使用其中一个“发出”接口中的方法添加。

OpenScopeOnMemory 方法类似于 OpenScope 方法,只不过感兴趣的元数据已存在于内存中,而不是存在于磁盘上的文件中。

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

要求

要求
目标平台 Windows
标头 rometadataapi.h

另请参阅

IMetaDataDispenser