次の方法で共有


ILanguageExceptionStackBackTrace インターフェイス (restrictederrorinfo.h)

プロジェクションで、その例外のカスタム スタック トレースを提供できるようにします。

継承

ILanguageExceptionStackBackTrace インターフェイスは、IUnknown インターフェイスから継承されます。 ILanguageExceptionStackBackTrace には、次の種類のメンバーもあります。

メソッド

ILanguageExceptionStackBackTrace インターフェイスには、これらのメソッドがあります。

 
ILanguageExceptionStackBackTrace::GetStackBackTrace

バック スタック トレースを取得します。

注釈

スタック トレースが関連するグローバル エラー ハンドラー API によってキャプチャされない場合は、言語プロジェクションでこのインターフェイスを実装することをお勧めします。

次の例では、言語例外オブジェクトに実装されたインターフェイスを介してバック トレースを提供するプロジェクションを示します。 言語例外オブジェクトが RoOriginateLanguageException または CapturePropagationContext に提供されている場合、このインターフェイスのグローバル エラー処理 (GEH) クエリ。 そのため、このシナリオでは、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