開啟包含現有元數據的記憶體區域。 也就是說,這個方法會開啟指定記憶體區域,其中現有的數據會被視為元數據。
Syntax
HRESULT OpenScopeOnMemory (
[in] LPCVOID pData,
[in] ULONG cbData,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk
);
Parameters
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]傳回介面的指標。
Remarks
您可以從其中一個「匯入」介面使用方法查詢元資料的記憶體內部複本,或從其中一個「發出」介面使用方法新增至 。
方法 OpenScopeOnMemory 類似於 IMetaDataDispenser::OpenScope 方法,不同之處在於感興趣的元數據已存在於記憶體中,而不是磁碟上的檔案中。
如果記憶體的目標區域不包含 Common Language Runtime (CLR) 元數據,此方法 OpenScopeOnMemory 將會失敗。
Requirements
平臺: 請參閱 .NET 支援的作系統。
Header: Cor.h
Library: CorGuids.lib