IEEVisualizerDataProvider

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

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 IEEVisualizerServiceProvider::CreateVisualizerService. See Visualizing and Viewing Data for more details.

Methods in Vtable order

Method

Description

IEEVisualizerDataProvider::CanSetObjectForVisualizer

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

IEEVisualizerDataProvider::GetNewObjectForVisualizer

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

IEEVisualizerDataProvider::GetObjectForVisualizer

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

IEEVisualizerDataProvider::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 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.

Requirements

Header: ee.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See Also

Reference

IDebugProperty2

IEEVisualizerService

IEEVisualizerServiceProvider

Concepts

Expression Evaluation Interfaces

Visualizing and Viewing Data