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 方法將會失敗。

規格需求

平台:請參閱系統需求

標頭:Cor.h

程式庫:作為 MSCorEE.dll 中的資源使用

.NET Framework版本:自 1.0 起提供

另請參閱