Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All


This interface provides the ability to change an object's value through a type visualizer.

IEEVisualizerDataProvider : IUnknown

The expression evaluator implements this interface to support modifying data on a property object through a type visualizer.

This interface is used in creating the IEEVisualizerService object through a call to IEEVisualizerServiceProvider::CreateVisualizerService. See Visualizing and Viewing Data for more details.




Determines if it is possible to update the object (and subsequently, its value) that this visualizer is representing.


Forces a re-evaluation of the object for this visualizer.


Gets an existing object for this visualizer (no evaluation is done).


Updates the object for this visualizer, thereby changing the value the visualizer presents.

The visualizer service (as represented by the IEEVisualizerService interface and returned by IEEVisualizerServiceProvider::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.

Header: ee.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Community Additions

© 2015 Microsoft