共用方式為


IMetaDataDispenser::OpenScopeOnMemory Method

開啟包含現有元數據的記憶體區域。 也就是說,這個方法會開啟指定記憶體區域,其中現有的數據會被視為元數據。

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

See also