Share via


IMetaDataDispenserEx::SetOption メソッド

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

構文

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

パラメーター

optionId
[in] 設定するオプションを指定する GUID へのポインター。

pValue
[in] オプションを設定するために使用する値。 この値の型は、指定されたオプションの型の派生になります。

解説

次の表に、optionId パラメーターがポイントすることができる使用可能な GUID と、pValue パラメーターに対応する有効な値を示します。

GUID 説明 pValue パラメーター
MetaDataCheckDuplicatesFor 重複しているかどうかをチェックする項目を制御します。 新しい項目を作成する IMetaDataEmit メソッドを呼び出すたびに、その項目が現在のスコープ内に既に存在するかどうかを確認するようにメソッドに要求できます。 たとえば、mdMethodDef 項目が存在するかどうかを確認できます。この場合、IMetaDataEmit::DefineMethod を呼び出すと、メソッドが現在のスコープ内に存在していないことがチェックされます。 このチェックでは、指定されたメソッドを一意に識別するキー (親の型、名前、および署名) を使用します。 UI4 型のバリアントである必要があり、CorCheckDuplicatesFor 列挙体の値の組み合わせを含んでいる必要があります。
MetaDataRefToDefCheck 定義に変換される参照項目がいずれかを制御します。 既定では、参照される項目が現在のスコープで実際に定義されている場合は、参照される項目をその定義に変換することで、メタデータ エンジンによってコードが最適化されます。 UI4 型のバリアントである必要があり、 CorRefToDefCheck 列挙型の値の組み合わせを含んでいる必要があります。
MetaDataNotificationForTokenMovement メタデータのマージ中に発生するどのトークンの再マッピングによりコールバックが生成されるかを制御します。 IMetaDataEmit::SetHandler メソッドを使用して、IMapToken インターフェイスを確立します。 UI4 型のバリアントである必要があり、CorNotificationForTokenMovement 列挙型の値の組み合わせを含んでいる必要があります。
MetaDataSetENC エディット コンティニュ (ENC) のビヘイビアーを制御します。 ビヘイビアーのモードは一度に 1 つしか設定できません。 UI4 型のバリアントである必要があり、CorSetENC 列挙型の値を含んでいる必要があります。 値がビットマスクではありません。
MetaDataErrorIfEmitOutOfOrder どの順不同出力エラーによりコールバックが生成されるかを制御します。 順不同のメタデータの出力は致命的ではありません。ただし、メタデータ エンジンで優先される順序でメタデータを出力すると、メタデータがよりコンパクトになるため、より効率的に検索することができます。 IMetaDataEmit::SetHandler メソッドを使用して、IMetaDataError インターフェイスを確立します。 UI4 型のバリアントである必要があり、CorErrorIfEmitOutOfOrder 列挙体の値の組み合わせを含んでいる必要があります。
MetaDataImportOption ENC 中に削除されたどの項目の種類を、列挙子によって取得するかを制御します。 UI4 型のバリアントである必要があり、CorImportOptions Enumeration 列挙体の値の組み合わせを含んでいる必要があります。
MetaDataThreadSafetyOptions メタデータ エンジンが読み取りまたは書き込みロックを取得するかどうかを制御し、それによってスレッド セーフを確保します。 既定では、エンジンではアクセスが呼び出し元によるシングルスレッドであることを前提としているため、ロックは取得されません。 クライアントは、メタデータ API を使用するときに、適切なスレッド同期を維持する役割を担います。 UI4 型のバリアントである必要があり、CorThreadSafetyOptions 列挙型の値を含んでいる必要があります。 値がビットマスクではありません。
MetaDataGenerateTCEAdapters タイプ ライブラリ インポーターが COM コネクション ポイント コンテナー用の密結合イベント (TCE) アダプターを生成する必要があるかどうかを制御します。 BOOL 型のバリアントである必要があります。 pValuetrue に設定されている場合は、タイプ ライブラリ インポーターによって、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 列挙型の組み合わせを含める必要があります。
MetaDataPreserveLocalRefs 定義へのローカル参照の最適化を無効にします。 CorLocalRefPreservation列挙型の値の組み合わせが含まれている必要があります。

必要条件

プラットフォーム:システム必要条件に関するページを参照してください。

ヘッダー: Cor.h

ライブラリ: MsCorEE.dll でリソースとして使用されます

.NET Framework のバージョン: 1.0 以降で使用可能

関連項目