次の方法で共有


IMetaDataDispenserEx::SetOption メソッド

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

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) の動作を制御します。 一度に設定できる動作のモードは 1 つだけです。

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

MetaDataErrorIfEmitOutOfOrder

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

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

MetaDataImportOption

ENC 時に削除され、列挙子によって取得されるアイテムの種類を制御します。

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

MetaDataThreadSafetyOptions

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

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

MetaDataGenerateTCEAdapters

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

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

MetaDataTypeLibImportNamespace

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

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

MetaDataLinkerOptions

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

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

MetaDataRuntimeVersion

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

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

MetaDataMergerOptions

メタデータをマージするためのオプションを指定します。

UI4 型のバリアントであり、CorHdr.h ファイルで記述されている MergeFlags 列挙型の値の組み合わせを含んでいる必要があります。

必要条件

プラットフォーム : 「.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

参照

参照

IMetaDataDispenserEx インターフェイス

IMetaDataDispenser インターフェイス