ILanguageExceptionStackBackTrace 接口 (restrictederrorinfo.h)

允许投影为该异常提供自定义堆栈跟踪。

继承

ILanguageExceptionStackBackTrace 接口继承自 IUnknown 接口。 ILanguageExceptionStackBackTrace 也具有以下类型的成员:

方法

ILanguageExceptionStackBackTrace 接口具有这些方法。

 
ILanguageExceptionStackBackTrace::GetStackBackTrace

检索回退堆栈跟踪。

注解

当相关全局错误处理程序 API 未捕获堆栈跟踪时,建议语言投影实现此接口。

示例

以下示例演示了一个投影,通过语言异常对象上实现的接口提供其回溯。 全局错误处理 (GEH) 向 RoOriginateLanguageExceptionCapturePropagationContext 提供语言异常对象时查询此接口。 因此,此方案允许 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

请参阅

IUnknown