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