IMetaDataDispenser::OpenScopeOnMemory メソッド (rometadataapi.h)
既存のメタデータが含まれるメモリの領域を開きます。 つまり、このメソッドでは、既存のデータがメタデータとして扱われる指定のメモリ領域が開きます。
構文
HRESULT OpenScopeOnMemory(
[in] const BYTE *pData,
[in] ULONG cbData,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk
);
パラメーター
[in] pData
メモリ領域の開始アドレスを指定するポインター。
[in] cbData
メモリ領域のサイズ (バイト単位)。
[in] dwOpenFlags
開くモード (読み取り、書き込みなど) を指定する CorOpenFlags 列挙体の値。
[in] riid
返される必要なメタデータ インターフェイスの IID。呼び出し元は インターフェイスを使用して、メタデータのインポート (読み取り) または出力 (書き込み) を行います。
riid の値は、"import" または "emit" インターフェイスのいずれかを指定する必要があります。 有効な値は 、IID_IMetaDataEmit、 IID_IMetaDataImport、 IID_IMetaDataAssemblyEmit、 IID_IMetaDataAssemblyImport、 IID_IMetaDataEmit2、または IID_IMetaDataImport2です。
[out] ppIUnk
返されたインターフェイスへのポインター。
戻り値
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
解説
メタデータのメモリ内コピーは、いずれかの "import" インターフェイスのメソッドを使用してクエリを実行するか、いずれかの "emit" インターフェイスのメソッドを使用して追加できます。
OpenScopeOnMemory メソッドは OpenScope メソッドに似ていますが、対象のメタデータがディスク上のファイルではなくメモリに既に存在する点が異なります。
メモリのターゲット領域に共通言語ランタイム (CLR) メタデータが含まれていない場合、 OpenScopeOnMemory メソッドは失敗します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | rometadataapi.h |