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