IEEVisualizerDataProvider
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Important
In Visual Studio 2015, this way of implementing expression evaluators is deprecated. For information about implementing CLR expression evaluators, please see CLR Expression Evaluators and Managed Expression Evaluator Sample.
This interface provides the ability to change an object's value through a type visualizer.
Syntax
IEEVisualizerDataProvider : IUnknown
Notes for Implementers
The expression evaluator implements this interface to support modifying data on a property object through a type visualizer.
Notes for Callers
This interface is used in creating the IEEVisualizerService object through a call to CreateVisualizerService. See Visualizing and Viewing Data for more details.
Methods in Vtable order
Method | Description |
---|---|
CanSetObjectForVisualizer | Determines if it is possible to update the object (and subsequently, its value) that this visualizer is representing. |
GetNewObjectForVisualizer | Forces a re-evaluation of the object for this visualizer. |
GetObjectForVisualizer | Gets an existing object for this visualizer (no evaluation is done). |
SetObjectForVisualizer | Updates the object for this visualizer, thereby changing the value the visualizer presents. |
Remarks
The visualizer service (as represented by the IEEVisualizerService interface and returned by CreateVisualizerService) keeps a reference to the object implementing the IEEVisualizerDataProvider
interface. As a result, the IEEVisualizerDataProvider
interface should not be implemented on the same object that implements the IDebugProperty2 if that object maintains a reference to the IEEVisualizerService
object: a circular reference results and a deadlock occurs when the objects are destroyed. The recommended approach is to implement IEEVisualizerDataProvider
on a separate object to which the IDebugProperty2
object delegates without calling IUnknown::AddRef
on it.
Requirements
Header: ee.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll