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 の値では、"import" または "emit" インターフェイスのいずれかを指定する必要があります。 有効な値は、IID_IMetaDataEmit、IID_IMetaDataImport、IID_IMetaDataAssemblyEmit、IID_IMetaDataAssemblyImport、IID_IMetaDataEmit2、または IID_IMetaDataImport2 です。

ppIUnk
[out] 返されたインターフェイスへのポインター。

解説

メタデータのメモリ内コピーは、いずれかの "import" インターフェイスのメソッドを使用してクエリを実行するか、いずれかの "emit" インターフェイスのメソッドを使用して追加できます。

OpenScopeOnMemory メソッドは IMetaDataDispenser::OpenScope メソッドに似ていますが、対象のメタデータがディスク上のファイルではなくメモリに既に存在している点が異なります。

メモリのターゲット領域に共通言語ランタイム (CLR) メタデータが含まれていない場合、OpenScopeOnMemory メソッドは失敗します。

必要条件

プラットフォーム:システム必要条件に関するページを参照してください。

ヘッダー: Cor.h

ライブラリ: MsCorEE.dll でリソースとして使用されます

.NET Framework のバージョン: 1.0 以降で使用可能

関連項目