既存のメタデータを含むメモリ領域を開きます。 つまり、このメソッドは、既存のデータがメタデータとして扱われる指定されたメモリ領域を開きます。
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の値は、"import" または "emit" インターフェイスのいずれかを指定する必要があります。 有効な値は、IID_IMetaDataEmit、IID_IMetaDataImport、IID_IMetaDataAssemblyEmit、IID_IMetaDataAssemblyImport、IID_IMetaDataEmit2、またはIID_IMetaDataImport2です。
ppIUnk [out]返されたインターフェイスへのポインター。
Remarks
メタデータのメモリ内コピーは、いずれかの "インポート" インターフェイスのメソッドを使用してクエリを実行することも、いずれかの "出力" インターフェイスのメソッドを使用して追加することもできます。
OpenScopeOnMemory メソッドは IMetaDataDispenser::OpenScope メソッドに似ていますが、対象のメタデータがディスク上のファイルではなくメモリに既に存在する点が異なります。
メモリのターゲット領域に共通言語ランタイム (CLR) メタデータが含まれていない場合、 OpenScopeOnMemory メソッドは失敗します。
Requirements
プラットホーム:サポートされている .NET オペレーティング システムを参照してください。
Header: Cor.h
Library: CorGuids.lib
See also
.NET