指定したオプションを、現在のメタデータ スコープの指定された値に設定します。 このオプションは、現在のメタデータ スコープへの呼び出しの処理方法を制御します。
Syntax
HRESULT SetOption (
[in] REFGUID optionId,
[in] const VARIANT *pValue
);
Parameters
optionId [in]設定するオプションを指定する GUID へのポインター。
pValue [in]オプションの設定に使用する値。 この値の型は、指定したオプションの型のバリアントである必要があります。
Remarks
次の表に、 optionId パラメーターが指すことができる使用可能な GUID と、 pValue パラメーターの対応する有効な値を示します。
| GUID | Description |
pValue パラメーター |
|---|---|---|
| MetaDataCheckDuplicatesFor | 重複をチェックする項目を制御します。 新しいアイテムを作成する IMetaDataEmit メソッドを呼び出すたびに、アイテムが現在のスコープに既に存在するかどうかを確認するようにメソッドに依頼できます。 たとえば、 mdMethodDef 項目の存在を確認できます。この場合、 IMetaDataEmit::D efineMethod を呼び出すと、メソッドが現在のスコープにまだ存在していないことを確認します。 このチェックでは、特定のメソッド (親の型、名前、署名) を一意に識別するキーを使用します。 |
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 列挙型 の値の組み合わせを含める必要があります。 |
| MetaDataThreadSafetyOptions | メタデータ エンジンがリーダー/ライター ロックを取得するかどうかを制御し、スレッドの安全性を確保します。 既定では、エンジンは、アクセスが呼び出し元によってシングル スレッドであることを前提としているため、ロックは取得されません。 クライアントは、メタデータ API を使用するときに適切なスレッド同期を維持する必要があります。 | UI4 型のバリアントである必要があり、 CorThreadSafetyOptions 列挙型の値を含める必要があります。 値はビットマスクではありません。 |
| MetaDataGenerateTCEAdapters | タイプ ライブラリ インポーターが COM 接続ポイント コンテナーの密結合イベント (TCE) アダプターを生成するかどうかを制御します。 | 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 型に保持されている文字列に設定されます。 |
| MetaDataMergerOptions | メタデータをマージするためのオプションを指定します。 | UI4 型のバリアントである必要があり、CorHdr.h ファイルで説明されている MergeFlags 列挙体の値の組み合わせを含める必要があります。 |
| MetaDataPreserveLocalRefs | 定義へのローカル参照の最適化を無効にします。 | CorLocalRefPreservation 列挙型の値の組み合わせを含む必要があります。 |
Requirements
プラットホーム:サポートされている .NET オペレーティング システムを参照してください。
Header: Cor.h
Library: CorGuids.lib
See also
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET