IDebugHostStatus::P ollUserInterrupt 方法 (dbgmodel.h)
PollUserInterrupt 方法用于查询调试主机的用户是否已请求中断当前操作。 例如,数据模型中的属性访问器可以调用任意代码 (例如:javaScript 方法) 。 该代码可能需要任意时间。 为了使调试主机保持响应,任何可能需要任意时间的此类代码都应通过调用此方法检查中断请求。 如果 interruptRequested 值返回为 true,则调用方应立即中止并返回E_ABORT的结果。
接收错误的数据模型 API 的任何调用方必须E_ABORT向外传播该错误,而不只是接受错误。
具体而言,某些主机 (Windows) 调试工具可能会选择在中断挂起时失败查询。 在这种情况下,许多对 IDebugHost* 接口的方法调用将返回E_ABORT,直到控制返回到调试主机为止。
语法
HRESULT PollUserInterrupt(
bool *interruptRequested
);
参数
interruptRequested
返回用户中断是否处于挂起状态的指示。 如果返回的值为 true,调用方应立即停止它正在执行的操作,并将E_ABORT错误代码向外传播。
返回值
此方法返回指示成功或失败的 HRESULT。
注解
示例代码
// within some method...
ComPtr<IDebugHost> spHost; /* get the host*/
ComPtr<IDebugHostStatus> spStatus;
spHost.As(&spStatus);
bool isInterruptRequested;
if (spStatus != nullptr && SUCCEEDED(spStatus->PollUserInterrupt(&isInterruptRequested)) && isInterruptRequested)
{
// This is the return code to indicate a user initiated abort.
return E_ABORT;
}
要求
要求 | 值 |
---|---|
Header | dbgmodel.h |