次の方法で共有


IEEVisualizerDataProvider

重要

Visual Studio 2015 では、この方法での式エバリュエーターの実装は非推奨です。 CLR 式エバリュエーターの実装については、CLR 式エバリュエーターおよびマネージド式エバリュエーターのサンプルに関する記事をご覧ください。

このインターフェイスでは、型ビジュアライザーを使用してオブジェクトの値を変更する機能を提供します。

構文

IEEVisualizerDataProvider : IUnknown

実装側の注意

式エバリュエーターでは、このインターフェイスを実装し、型ビジュアライザーを使用してプロパティ オブジェクトのデータを変更できるようにします。

呼び出し元に関する注意事項

このインターフェイスは、CreateVisualizerService の呼び出しを通じて IEEVisualizerService オブジェクトを作成するときに使用されます。 詳細については、「データの視覚化と表示」を参照してください。

Vtable 順序のメソッド

メソッド 説明
CanSetObjectForVisualizer このビジュアライザーが表すオブジェクト (およびその後に値) を更新できるかどうかを判断します。
GetNewObjectForVisualizer このビジュアライザーのオブジェクトを強制的に再評価します。
GetObjectForVisualizer このビジュアライザーの既存のオブジェクトを取得します (評価は行われません)。
SetObjectForVisualizer ビジュアライザーによって表示される値を変更して、このビジュアライザーのオブジェクトを更新します。

解説

ビジュアライザー サービス (IEEVisualizerService インターフェイスによって表され、CreateVisualizerService によって返される) は、IEEVisualizerDataProvider インターフェイスを実装するオブジェクトへの参照を保持します。 その結果、そのオブジェクトが IEEVisualizerService オブジェクトへの参照を保持している場合、IDebugProperty2 を実装するのと同じオブジェクトに IEEVisualizerDataProvider インターフェイスを実装することはできません。結果として循環参照が生じ、オブジェクトが破棄されるとデッドロックが発生します。 推奨される方法は、IUnknown::AddRef を呼び出さずに IDebugProperty2 オブジェクトがデリゲートする別のオブジェクトに IEEVisualizerDataProvider を実装する方法をお勧めします。

要件

ヘッダー: ee.h

名前空間: Microsoft.VisualStudio.Debugger.Interop

アセンブリ: Microsoft.VisualStudio.Debugger.Interop.dll

関連項目