IDataModelScript::Execute 方法 (dbgmodel.h)
Execute 方法根据上次成功填充调用的要求执行脚本的内容,并根据该内容修改调试器的对象模型。 如果语言(或脚本提供程序)定义了一个“main 函数”(作者希望在单击用户界面中的虚构“执行脚本”按钮时调用的函数),则不会在执行操作期间调用此类“main 函数”。 可以将执行操作视为仅执行初始化和对象模型操作(例如:执行根代码并设置扩展点)。 执行脚本是脚本提供程序和脚本客户端之间的双向通信。 错误、调试控件和其他语义通过 IDataModelScript 和 IDataModelScriptClient之间的通信通道传递。
根据执行操作是成功还是失败,应发生以下两种情况之一:
成功返回:
- 已刷新并忘记以前执行的脚本内容
- 由于先前执行脚本而导致的任何对象模型操作或扩展点都已更改
- 新执行脚本的对象模型操作和扩展点处于活动状态
对于失败的返回:
- 撤消新尝试执行脚本的任何操作或扩展点
- 还原脚本的先前状态。 将还原其所有对象模型操作和扩展点。
- 状态应与成功填充调用之后的状态相同,但在执行调用之前
请注意,对于正确编写的脚本提供程序和脚本环境,多次调用 Execute 方法,而无需对填充或取消链接的干预调用“应该是幂等的。 也就是说,在一行中调用“执行 N 次”应与调用 Execute 一样向用户显示。 执行不应对调试目标的状态产生副作用结果。 随后,利用通过 Execute 方法生成的桥上的属性、方法或事件确实会产生副作用的结果。
语法
HRESULT Execute(
IDataModelScriptClient *client
);
参数
client
应在此处传递请求执行的客户端的接口。 如果在执行脚本期间出现错误或其他事件,应通过此接口上的方法通知客户端这些错误及其在脚本中的位置。
返回值
此方法返回指示成功或失败的 HRESULT。
要求
要求 | 价值 |
---|---|
标头 | dbgmodel.h |