DkmRootVisualizedExpression 类

定义

表示顶级可视化表达式的调度程序对象。 实例由表达式计算器在确定应可视化的类型时创建。

public ref class DkmRootVisualizedExpression : Microsoft::VisualStudio::Debugger::Evaluation::DkmVisualizedExpression
[System.Runtime.InteropServices.Guid("78ad085c-7b73-5937-a063-e2c7f4ee6556")]
public class DkmRootVisualizedExpression : Microsoft.VisualStudio.Debugger.Evaluation.DkmVisualizedExpression
[<System.Runtime.InteropServices.Guid("78ad085c-7b73-5937-a063-e2c7f4ee6556")>]
type DkmRootVisualizedExpression = class
    inherit DkmVisualizedExpression
Public Class DkmRootVisualizedExpression
Inherits DkmVisualizedExpression
继承
属性

属性

ArrayLength

弃用:不再使用。

Flags

标志表达式计算器传递到描述相关值的可视化工具外接程序。 例如,如果对象是指针或引用,则会包括。

FullName

直到根节点的表达式的完整名称。 加载项可以选择使用此全名,也可以构造自己的名称。 但是,如果外接程序使用不同的全名,则它必须通过表达式计算器进行分析。

InspectionContext

要在执行检查操作时使用的选项和目标上下文。

(继承自 DkmVisualizedExpression)
InspectionSession

InspectionSession 允许各种组件检查目标进程中的数据,以存储生存期相同的私有数据。 当用户尝试继续此过程时,检查会话将关闭。

(继承自 DkmVisualizedExpression)
IsUnloaded

如果为此对象引发了 "已卸载" 事件,则返回 true (例如: DkmThread:: Unload 称为) 或对象已关闭。 请注意,在将此状态视为不同步时,必须使用 "小心",返回的状态在读取后可能不再准确。

(继承自 DkmDataContainer)
Module

可有可无包含类型符号的模块。

Name

到根节点的表达式的名称。 加载项可以选择使用此名称或构造自己的名称。

RuntimeInstance

指示将使用哪个运行时监视器执行此计算。

(继承自 DkmVisualizedExpression)
SourceId

将创建此对象和对象本身的表达式计算器结合在一起的 Guid。 通常由表达式计算器用来筛选 IDkmCustomVisualizerCallback 对其创建的 DkmVisualizedExpression 的实现。

(继承自 DkmVisualizedExpression)
StackFrame

堆栈帧在的表达式中计算表达式。

(继承自 DkmVisualizedExpression)
TagValue

DkmVisualizedExpression 是一个抽象基类。 此枚举指示此对象是其实例的派生类。

(继承自 DkmVisualizedExpression)
Type

可有可无要检查的对象的类型。 这通常是触发外接程序的 natvis 项所引用的类型。 但是,它也可以是指向类型的指针或引用,甚至是类型的基类或派生类。 外接程序不应假设此字符串中的内容,也不应尝试对其进行分析以获取有关对象的信息。 大多数外接应传递此字符串,就像它们所创建的计算结果的 "Type" 属性一样。 但是,外接程序可能会选择在将其他批注返回到 "Type" 字符串后将其返回。 除了提示要放入结果的 "类型" 字段的提示,此字符串与对象的可视化无关。 无论原始对象是指针、引用、基类型还是派生类型,所提供的 DkmExpressionValueHome 都将始终标识该对象本身的位置,而不是指向对象的指针或引用。 如果计算结果的类型对于要在其中调用可视化工具的方案不重要,则可以在此处传入空类型字符串。

此 API 是在 Visual Studio 14 RTM (VS14RTM) 中引入的。

UniqueId

唯一标识此实例的 Guid。

(继承自 DkmVisualizedExpression)
ValueHome

可有可无值的存储位置,可以修改该值以编辑值。 对于只读值,此值应为 null,如整数常量。

(继承自 DkmVisualizedExpression)
VisualizerId

将外接程序与调用该外接程序的表达式结合在一起的 Guid。 外接程序应使用本机可视化工具文件中提供的 Guid 作为筛选器。

(继承自 DkmVisualizedExpression)

方法

Close()

关闭 DkmVisualizedExpression 对象实例。 这会在所有组件中释放与此对象关联的所有资源。 这包括跨计算机或托管/本机封送处理边界的资源。

关闭关联的 DkmInspectionSession 对象时,DkmVisualizedExpression 对象会自动关闭。

(继承自 DkmVisualizedExpression)
Create(DkmInspectionContext, Guid, Guid, DkmStackWalkFrame, DkmExpressionValueHome, DkmModule, String, String, DkmRootVisualizedExpressionFlags, UInt32, DkmDataItem)

创建新的 DkmRootVisualizedExpression 对象实例。

Create(DkmInspectionContext, Guid, Guid, DkmStackWalkFrame, DkmExpressionValueHome, DkmModule, String, String, DkmRootVisualizedExpressionFlags, UInt32, String, DkmDataItem)

创建新的 DkmRootVisualizedExpression 对象实例。

         此 API 是在 Visual Studio 14 RTM (VS14RTM) 中引入的。
CreateDefaultChildFullName(Int32)

此方法将构造自定义可视化的子表达式的默认全名。 此名称将是根表达式的全名和一个展开格式字符串,该字符串将导致表达式计算器回叫可视化工具以获取子级。 此调用的 DkmVisualizedExpression 实例应为子元素的父可视化表达式和根的根可视化表达式。

(继承自 DkmVisualizedExpression)
EvaluateExpressionCallback(DkmInspectionContext, DkmLanguageExpression, DkmStackWalkFrame, DkmEvaluationResult)

此方法允许可视化工具外接程序使用表达式计算器编译和计算表达式的默认值。 外接程序可以按原样使用此结果,也可以通过创建新的结果来替代字段。 此外,这些外接程序还可以选择将表达式计算器用于使用获取子回调进行扩展。

(继承自 DkmVisualizedExpression)
EvaluateVisualizedExpression(DkmEvaluationResult)

计算返回 DkmEvaluationResult 的可视化表达式。

位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。

(继承自 DkmVisualizedExpression)
GetChildren(Int32, DkmInspectionContext, DkmChildVisualizedExpression[], DkmEvaluationResultEnumContext)

获取用于获取此计算结果的子级的枚举上下文。 这用于所有表达式计算窗口。

位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。

(继承自 DkmVisualizedExpression)
GetChildrenCallback(DkmEvaluationResult, Int32, DkmInspectionContext, DkmEvaluationResult[], DkmEvaluationResultEnumContext)

此方法允许可视化工具外接程序使用表达式计算器进行扩展。 可视化表达式中包含的计算结果必须来自通过 EvaluateExpressionCallback 的表达式计算器。

(继承自 DkmVisualizedExpression)
GetDataItem<T>()

获取已添加到此容器实例中的 "t" 的实例。 如果此容器不包含 "t",则此函数将返回 null。

(继承自 DkmDataContainer)
GetItems(DkmEvaluationResultEnumContext, Int32, Int32, DkmChildVisualizedExpression[])

调用以从 DkmEvaluationResultEnumContext 的实例中获取项,该实例由先前对 GetChildren 的调用创建。

位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。

(继承自 DkmVisualizedExpression)
GetItemsCallback(DkmEvaluationResultEnumContext, Int32, Int32, DkmEvaluationResult[])

此方法允许可视化工具外接程序使用表达式计算器来实现使用传递的枚举上下文进行的扩展。 这用于从计算结果中获取堆栈帧或子成员的局部变量。

(继承自 DkmVisualizedExpression)
GetSymbolInterface(Guid, Object)

允许自定义表达式计算器加载项获得要可视化的类型的符号接口。 这并不是直接存储在 DkmVisualizedExpression 中以启用在远程计算机上运行的加载项,也不依赖于符号。

位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。

(继承自 DkmVisualizedExpression)
GetUnderlyingString()

此方法用于包含 DkmEvaluationResultFlags 的计算结果,其中包含 RawString,用于获取不带引号或转义序列的基础字符串。 调用此方法可在表达式计算窗口中显示各种字符串可视化工具之一, (单击放大镜图标) 。

位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。

(继承自 DkmVisualizedExpression)
GetUnderlyingStringCallback(DkmEvaluationResult)

此方法用于包含 DkmEvaluationResultFlags 的计算结果,其中包含 RawString,用于获取不带引号或转义序列的基础字符串。 调用此方法可在表达式计算窗口中显示各种字符串可视化工具之一, (单击放大镜图标) 。

(继承自 DkmVisualizedExpression)
RemoveDataItem<T>()

从此容器中删除 "t" 的实例。 通常不需要调用此方法,因为当关闭对象时,数据容器将自动清空。

(继承自 DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

在数据容器中放置一个新项。

(继承自 DkmDataContainer)
SetValueAsString(String, Int32, String)

修改给定计算结果的值, (假设该结果为非只读) 以与给定的字符串匹配。 这在用户编辑任何计算窗口中的值后使用。

位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。

(继承自 DkmVisualizedExpression)
SetValueAsStringCallback(DkmEvaluationResult, String, Int32, String)

修改给定计算结果的值, (假设该结果为非只读) 以与给定的字符串匹配。 这在用户编辑任何计算窗口中的值后使用。

(继承自 DkmVisualizedExpression)
UseDefaultEvaluationBehavior(Boolean, DkmEvaluationResult)

当展开可视化表达式的子级、设置该值或获取基础字符串时,由表达式计算器调用。 如果可视化工具外接程序需要完全控制表达式,它应该返回 false。 然后,它将接收对 GetChildren、GetItems、SetValueAsString 和 GetUnderlyingString 的调用。 如果可视化工具外接程序想要将这些操作完全推迟到表达式计算器,它应返回 true。 它还必须通过 IDkmCustomVisualizerCallback 方法之一向表达式计算器返回来自 EE 的 DkmEvaluationResult 实例。 请注意,如果需要使用 EE 控制对象,则外接程序必须已从 EE 获取了默认 DkmEvaluationResult。 从此方法返回 true 主要由可视化工具外接程序使用,该外接程序只需调整一些小到值的视图,但不希望修改扩展或设置值。

位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。

(继承自 DkmVisualizedExpression)

显式接口实现

IDisposable.Dispose() (继承自 DkmVisualizedExpression)

适用于