IDataModelScript::Execute 方法 (dbgmodel.h)

Execute 方法根据上次成功填充调用的要求执行脚本的内容,并根据该内容修改调试器的对象模型。 如果语言(或脚本提供程序)定义了一个“main 函数”(作者希望在单击用户界面中的虚构“执行脚本”按钮时调用的函数),则不会在执行操作期间调用此类“main 函数”。 可以将执行操作视为仅执行初始化和对象模型操作(例如:执行根代码并设置扩展点)。 执行脚本是脚本提供程序和脚本客户端之间的双向通信。 错误、调试控件和其他语义通过 IDataModelScriptIDataModelScriptClient之间的通信通道传递。

根据执行操作是成功还是失败,应发生以下两种情况之一:

成功返回:

  • 已刷新并忘记以前执行的脚本内容
  • 由于先前执行脚本而导致的任何对象模型操作或扩展点都已更改
  • 新执行脚本的对象模型操作和扩展点处于活动状态

对于失败的返回:

  • 撤消新尝试执行脚本的任何操作或扩展点
  • 还原脚本的先前状态。 将还原其所有对象模型操作和扩展点。
  • 状态应与成功填充调用之后的状态相同,但在执行调用之前

请注意,对于正确编写的脚本提供程序和脚本环境,多次调用 Execute 方法,而无需对填充或取消链接的干预调用“应该是幂等的。 也就是说,在一行中调用“执行 N 次”应与调用 Execute 一样向用户显示。 执行不应对调试目标的状态产生副作用结果。 随后,利用通过 Execute 方法生成的桥上的属性、方法或事件确实会产生副作用的结果。

语法

HRESULT Execute(
  IDataModelScriptClient *client
);

参数

client

应在此处传递请求执行的客户端的接口。 如果在执行脚本期间出现错误或其他事件,应通过此接口上的方法通知客户端这些错误及其在脚本中的位置。

返回值

此方法返回指示成功或失败的 HRESULT。

要求

要求 价值
标头 dbgmodel.h

另请参阅

IDataModelScript 接口