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 起提供