次の方法で共有


IMetaDataDispenserEx::SetOption メソッド

更新 : 2007 年 11 月

指定したオプションを現在のメタデータ スコープの特定の値に設定します。このオプションは、現在のメタデータ スコープへの呼び出しの処理方法を制御します。

HRESULT SetOption (
    [in] REFGUID optionId, 
    [in] const VARIANT *pValue
);

パラメータ

  • optionId
    [入力] 設定されるオプションを指定する GUID へのポインタ。

  • pValue
    [入力] オプションの設定に使用する値。この値の型は、指定したオプションの型のバリアントにする必要があります。

解説

次の表は、optionId パラメータで指すことができる GUID および対応する pValue パラメータの有効値を示しています。

GUID

オプション

pValue パラメータ

MetaDataCheckDuplicatesFor

重複チェック。重複をチェックするアイテムとチェックしないアイテムを制御します。つまり、新しいアイテムを作成する IMetaDataEmit メソッドを呼び出すたびに、現在のスコープ内にアイテムが既に存在するかどうかをチェックするようメソッドに要求できます。たとえば、mdMethodDef アイテムをチェックするよう要求する場合、IMetaDataEmit::DefineMethod を呼び出すと、現在のスコープ内にそのメソッドが存在しないことがチェックされます。このチェックでは、特定のメソッド、親の型、名前、およびシグネチャを一意に識別するキーを使用します。

UI4 型のバリアントであり、CorCheckDuplicatesFor 列挙値の組み合わせを含む必要があります。

MetaDataRefToDefCheck

参照から定義への変換の最適化。どの参照アイテムが定義に変換されるかを制御します。既定では、参照アイテムが実際に現在のスコープ内に定義されている場合、メタデータ エンジンは参照アイテムを定義に変換してコードを最適化します。

UI4 型のバリアントであり、CorRefToDefCheck 列挙値の組み合わせを含む必要があります。

MetaDataNotificationForTokenMovement

トークンの移動に関する通知。メタデータのマージ中に発生し、コールバックを生成するトークンのリマップを制御します。IMapToken インターフェイスを確立するには、IMetaDataEmit::SetHandler メソッドを使用します。

UI4 型のバリアントであり、CorNotificationForTokenMovement 列挙値の組み合わせを含む必要があります。

MetaDataSetENC

ENC のモード。エディット コンティニュ (ENC) の動作を制御します。一度に設定できる動作のモードは 1 つだけです。

UI4 型のバリアントであり、CorSetENC 列挙値を含む必要があります。値はビットマスクではありません。

MetaDataErrorIfEmitOutOfOrder

正しくない順序での生成。"正しくない順序で生成された" というエラーのうち、いずれが発生するとコールバックを生成するかを制御します。メタデータを正しくない順序で生成しても致命的ではありませんが、正しい順序でメタデータを生成する方がメタデータ エンジンにとって望ましく、メタデータが小さくなるため、効率的に検索できます。IMetaDataError インターフェイスを確立するには、IMetaDataEmit::SetHandler メソッドを使用します。

UI4 型のバリアントであり、CorErrorIfEmitOutOfOrder 列挙値の組み合わせを含む必要があります。

MetaDataImportOption

インポートのオプション。ENC 時に削除されるアイテムの種類、および列挙子によって取得されるアイテムの種類を制御します。

UI4 型のバリアントであり、CorImportOptions 列挙値の組み合わせを含む必要があります。

MetaDataThreadSafetyOptions

スレッド セーフ オプション。メタデータ エンジンがリーダー/ライタ ロックを取得し、スレッド セーフを確保するかどうかを制御します。既定では、エンジンはアクセスが呼び出し元によるシングルスレッドであることを前提にしているため、ロックは取得されません。メタデータ API を使用する場合、クライアントがスレッドを適切に同期します。

UI4 型のバリアントであり、CorThreadSafetyOptions 列挙値を含む必要があります。値はビットマスクではありません。

MetaDataGenerateTCEAdapters

TCE アダプタの生成。タイプ ライブラリ インポータが COM 接続ポイント コンテナの密結合イベント (TCE: Tightly Coupled Event) アダプタを生成するかどうかを制御します。

bool 型のバリアントにする必要があります。pValue が true に設定されている場合、タイプ ライブラリ インポータは TCE アダプタを生成します。

MetaDataTypeLibImportNamespace

名前空間。インポートされるタイプ ライブラリの既定以外の名前空間を指定します。

null 値または BSTR 型のバリアントにする必要があります。pValue が null 値である場合、現在の名前空間は null に設定されています。それ以外の場合は、現在の名前空間がバリアントの BSTR 型に保持されている文字列に設定されます。

MetaDataLinkerOptions

リンカ オプション。リンカがアセンブリまたは .NET モジュール ファイルを生成するかどうかを制御します。

UI4 型のバリアントであり、CorLinkerOptions 列挙値の組み合わせを含む必要があります。

MetaDataRuntimeVersion

ランタイムのバージョン。このイメージを作成した共通言語ランタイムのバージョンを指定します。バージョンは、"v1.0.3705" などの文字列として格納されます。

null 値、VT_EMPTY 値、または BSTR 型のバリアントにする必要があります。pValue が null である場合、ランタイム バージョンは null に設定されます。pValue が VT_EMPTY である場合、バージョンは既定値に設定されます。既定値は、メタデータ コードを実行する Mscorwks.dll のバージョンから抽出されます。それ以外の場合は、ランタイム バージョンがバリアントの BSTR 型に保持されている文字列に設定されます。

必要条件

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

ヘッダー : Cor.h

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

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

参照

参照

IMetaDataDispenserEx

IMetaDataDispenser