RoInspectCapturedStackBackTrace function (roerrorapi.h)

Provides a way to for debuggers to inspect a call stack from a target process.

Syntax

HRESULT RoInspectCapturedStackBackTrace(
  [in]           UINT_PTR                 targetErrorInfoAddress,
                 USHORT                   machine,
                 PINSPECT_MEMORY_CALLBACK readMemoryCallback,
  [in, optional] PVOID                    context,
  [out]          UINT32                   *frameCount,
  [out]          UINT_PTR                 *targetBackTraceAddress
);

Parameters

[in] targetErrorInfoAddress

The address of the error info object in the target process. Get the targetErrorInfoAddress by calling the RoInspectThreadErrorInfo function.

machine

The machine to debug.

readMemoryCallback

A callback function to read the buffer from the target TEB address space.

[in, optional] context

Custom context data.

[out] frameCount

The number of stack frames stored in the error object.

[out] targetBackTraceAddress

The stack back trace address in the target process.

Return value

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

The RoInspectCapturedStackBackTrace function takes a pointer to a system error object and fills frameCount with the number of stack frames stored in the error object, and it fills targetBackTraceAddress with the stack back trace address in the target process. The RoInspectCapturedStackBackTrace function tries to confirm that targetErrorInfoAddress points is to a system error object and fails if it can't match the version signature.

Get the targetErrorInfoAddress by calling the RoInspectThreadErrorInfo function.

Requirements

Requirement Value
Minimum supported client Windows 8.1 [desktop apps only]
Minimum supported server Windows Server 2012 R2 [desktop apps only]
Target Platform Windows
Header roerrorapi.h
Library RuntimeObject.lib
DLL ComBase.dll

See also

PINSPECT_MEMORY_CALLBACK

RoInspectThreadErrorInfo