IMetaDataDispenserEx::SetOption メソッド (rometadataapi.h)

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

構文

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

パラメーター

[in] optionId

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

[in] pValue

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

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

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

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

要件

要件 値
対象プラットフォーム Windows
ヘッダー rometadataapi.h

こちらもご覧ください

IMetaDataDispenserEx