Freigeben über


IEEVisualizerDataProvider

Wichtig

Seit Visual Studio 2015 ist diese Art der Implementierung von Ausdrucksauswertungen veraltet. Informationen zum Implementieren von CLR-Ausdrucksauswertern finden Sie unter CLR Expression Evaluators and Managed Expression Evaluator Sample.For information about implementing CLR expression evaluators, please see CLR Expression Evaluator Sample.

Diese Schnittstelle bietet die Möglichkeit, den Wert eines Objekts durch eine Typschnellansicht zu ändern.

Syntax

IEEVisualizerDataProvider : IUnknown

Hinweise für Implementierer

Der Ausdrucksauswerter implementiert diese Schnittstelle, um das Ändern von Daten für ein Eigenschaftsobjekt über eine Typschnellansicht zu unterstützen.

Hinweise für Aufrufer

Diese Schnittstelle wird zum Erstellen des IEEVisualizerService -Objekts über einen Aufruf von CreateVisualizerService verwendet. Weitere Details finden Sie unter "Visualisieren und Anzeigen von Daten ".

Methoden in Vtable-Reihenfolge

Methode Beschreibung
CanSetObjectForVisualizer Bestimmt, ob es möglich ist, das Objekt (und anschließend dessen Wert) zu aktualisieren, den dieser Visualizer darstellt.
GetNewObjectForVisualizer Erzwingt eine erneute Auswertung des Objekts für diese Visualisierung.
GetObjectForVisualizer Ruft ein vorhandenes Objekt für diese Visualisierung ab (keine Auswertung erfolgt).
SetObjectForVisualizer Aktualisiert das Objekt für diese Visualisierung, wodurch der Wert geändert wird, den die Visualisierung darstellt.

Hinweise

Der Visualizerdienst (wie durch die IEEVisualizerService-Schnittstelle dargestellt und von CreateVisualizerService zurückgegeben) behält einen Verweis auf das Objekt bei, das die IEEVisualizerDataProvider Schnittstelle implementiert. Daher sollte die IEEVisualizerDataProvider Schnittstelle nicht für dasselbe Objekt implementiert werden, das das IDebugProperty2 implementiert, wenn dieses Objekt einen Verweis auf das IEEVisualizerService Objekt Standard enthält: ein Zirkelbezugsergebnis und ein Deadlock tritt auf, wenn die Objekte zerstört werden. Der empfohlene Ansatz besteht darin, ein separates Objekt zu implementieren IEEVisualizerDataProvider , für das das Objekt delegiert IDebugProperty2 wird, ohne es aufzurufen IUnknown::AddRef .

Anforderungen

Kopfzeile: ee.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Siehe auch