(dbgmodel.h) 的 IDataModelScript::Execute 方法

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

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

对于成功的返回:

o 将刷新并忘记以前执行的脚本内容

o 由于先前执行脚本而更改的任何对象模型操作或扩展点将撤消

o 新执行脚本的对象模型操作和扩展点处于活动状态

对于失败的返回:

o 撤消新尝试执行的脚本的任何操作或扩展点

o 还原脚本的先前状态。 将还原其所有对象模型操作和扩展点。

o 状态应与成功 Populate 调用之后、任何 Execute 调用之前的状态相同

请注意,对于正确编写的脚本提供程序和脚本环境,在没有对 Populate 或 Unlink '进行干预调用的情况下多次调用 Execute 方法应该是幂等的。 也就是说,在一行中调用 Execute N 次应该向用户显示与调用 Execute 一次相同。 执行不应对调试目标的状态产生负面影响。 随后在通过 Execute 方法生成的桥上使用属性、方法或事件确实可能会产生副作用的结果。

语法

HRESULT Execute(
  IDataModelScriptClient *client
);

参数

client

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

返回值

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

要求

要求
Header dbgmodel.h

另请参阅

IDataModelScript 接口