次の方法で共有


IMetaDataDispenser::DefineScope メソッド

新しいメタデータを作成できる新しい領域をメモリ内に作成します。

HRESULT DefineScope (
    [in]  REFCLSID    rclsid,
    [in]  DWORD       dwCreateFlags,
    [in]  REFIID      riid, 
    [out] IUnknown    **ppIUnk
);

パラメーター

  • rclsid
    [入力] 作成されるメタデータ構造体のバージョンの CLSID。 .NET Framework Version 2.0 の場合はこの値を CLSID_CorMetaDataRuntime にする必要があります。

  • dwCreateFlags
    [入力] オプションを指定するフラグ。 .NET Framework 2.0 の場合はこの値を 0 にする必要があります。

  • riid
    [入力] 返すメタデータ インターフェイスの IID。呼び出し元は新しいメタデータを作成するインターフェイスを使用します。

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

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

解説

DefineScope によって、一連のメモリ内メタデータ テーブルが作成され、メタデータ用の一意の GUID (モジュールのバージョン ID、つまり MVID) が生成され、生成するコンパイル単位のエントリがモジュール テーブル内に作成されます。

必要に応じ、IMetaDataEmit::SetModuleProps メソッドまたは IMetaDataEmit::DefineCustomAttribute メソッドを使用して、メタデータ スコープ全体に属性をアタッチできます。

必要条件

プラットフォーム : 「.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 インターフェイス

IMetaDataEmit インターフェイス

IMetaDataEmit2 インターフェイス