ILanguageExceptionStackBackTrace 接口 (restrictederrorinfo.h)
允许投影为该异常提供自定义堆栈跟踪。
继承
ILanguageExceptionStackBackTrace 接口继承自 IUnknown 接口。 ILanguageExceptionStackBackTrace 也具有以下类型的成员:
方法
ILanguageExceptionStackBackTrace 接口具有这些方法。
ILanguageExceptionStackBackTrace::GetStackBackTrace 检索回退堆栈跟踪。 |
注解
当相关全局错误处理程序 API 未捕获堆栈跟踪时,建议语言投影实现此接口。
示例
以下示例演示了一个投影,通过语言异常对象上实现的接口提供其回溯。 全局错误处理 (GEH) 向 RoOriginateLanguageException 或 CapturePropagationContext 提供语言异常对象时查询此接口。 因此,此方案允许 GEH 公开 GEH 无法捕获回跟踪的投影的回溯。
class FooExceptionInfo : public Microsoft::WRL::RuntimeClass<
Microsoft::WRL::RuntimeClassFlags<
Microsoft::WRL::RuntimeClassType::ClassicCom>,
...
ILanguageExceptionStackBackTrace >
{
...
...
private:
UINT_PTR* customBackTrace;
int numFramesCaptured;
public:
HRESULT GetStackBackTrace(
ULONG maxFramesToCapture,
UINT_PTR stackBackTrace [],
ULONG* framesCaptured)
{
int idx = 0;
for (; idx < maxFramesToCapture && idx < numFramesCaptured; idx++)
{
stackBackTrace[idx] = customBackTrace[idx];
}
*framesCaptured = idx;
return S_OK;
}
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10版本 1703 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | restrictederrorinfo.h |