共用方式為


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 方法,但所需的中繼資料已存在於記憶體中,而非磁碟的檔案中。

如果目標記憶體區域不包含 Common Language Runtime (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 介面