IMetaDataDispenser::OpenScopeOnMemory メソッド

既存のメタデータを含むメモリの領域を開きます。 つまり、このメソッドは、既存のデータがメタデータとして扱われるメモリ内の指定した領域を開きます。

HRESULT OpenScopeOnMemory (
    [in]  LPCVOID     pData, 
    [in]  ULONG       cbData, 
    [in]  DWORD       dwOpenFlags, 
    [in]  REFIID      riid, 
    [out] IUnknown    **ppIUnk
);

パラメーター

  • pData
    [入力] メモリ領域の開始アドレスを指定するポインター。

  • cbData
    [入力] メモリ領域のサイズ (バイト単位)。

  • dwOpenFlags
    [入力] 開く際のモード (読み取り、書き込みなど) を指定する CorOpenFlags 列挙体の値。

  • riid
    [入力] 返される目的のメタデータ インターフェイスの IID。呼び出し元はインターフェイスを使用して、メタデータのインポート (読み取り) または生成 (書き込み) を行います。

    riid の値には、"import" または "emit" インターフェイスの 1 つを指定する必要があります。 有効な値は、IID_IMetaDataEmit、IID_IMetaDataImport、IID_IMetaDataAssemblyEmit、IID_IMetaDataAssemblyImport、IID_IMetaDataEmit2、または IID_IMetaDataImport2 です。

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

解説

メタデータのインメモリ コピーは、"import" インターフェイスの 1 つからメソッドを使用して問い合わせるか、"emit" インターフェイスの 1 つからメソッドを使用して追加できます。

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

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

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : Cor.h

ライブラリ : MsCorEE.dll でリソースとして使用されていること

.NET Framework のバージョン : 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

参照

参照

IMetaDataDispenser インターフェイス

IMetaDataDispenserEx インターフェイス

IMetaDataAssemblyEmit インターフェイス

IMetaDataAssemblyImport インターフェイス

IMetaDataEmit インターフェイス

IMetaDataEmit2 インターフェイス

IMetaDataImport インターフェイス

IMetaDataImport2 インターフェイス