共用方式為


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 的值必須指定其中一個「匯入」或「發出」介面。 有效值為IID_IMetaDataEmitIID_IMetaDataImportIID_IMetaDataAssemblyEmit、IID_IMetaDataAssemblyImportIID_IMetaDataEmit2IID_IMetaDataImport2

[out] ppIUnk

傳回介面的指標。

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

您可以使用其中一個「匯入」介面的方法查詢,或使用其中一個「發出」介面的方法新增中繼資料的記憶體內部複本。

OpenScopeOnMemory 方法類似於 OpenScope 方法,不同之處在於感興趣的元數據已存在於記憶體中,而不是磁碟上的檔案中。

如果記憶體的目標區域不包含 COMMON Language Runtime (CLR) 元數據, OpenScopeOnMemory 方法將會失敗。

規格需求

需求
目標平台 Windows
標頭 rometadataapi.h

另請參閱

IMetaDataDispenser