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 |