You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.8 KiB
73 lines
1.8 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 2002.
|
|
//
|
|
// File:
|
|
// stackwalk.idl
|
|
//
|
|
// Contents:
|
|
// Definition of interfaces for stackwalking.
|
|
//
|
|
// History:
|
|
// mfeingol 01-16-2002 Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef DO_NO_IMPORTS
|
|
import "objidl.idl";
|
|
#endif
|
|
|
|
enum CreateStackTraceFlags
|
|
{
|
|
CREATESTACKTRACE_ONLYADDRESSES = 1
|
|
};
|
|
|
|
// IStackWalkerSymbol: interface on stackwalker symbol objects
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(00000157-0000-0000-C000-000000000046)
|
|
]
|
|
interface IStackWalkerSymbol : IUnknown
|
|
{
|
|
LPCWSTR ModuleName();
|
|
LPCWSTR SymbolName();
|
|
DWORD64 Address();
|
|
DWORD64 Displacement();
|
|
IStackWalkerSymbol* Next();
|
|
}
|
|
|
|
// IStackWalkerStack: interface on stackwalker stack objects
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(00000158-0000-0000-C000-000000000046)
|
|
]
|
|
interface IStackWalkerStack : IUnknown
|
|
{
|
|
IStackWalkerSymbol* TopSymbol();
|
|
SIZE_T Size ([in] LONG lMaxNumLines);
|
|
BOOL GetStack ([in] SIZE_T nChars, [in, string] LPWSTR wsz, [in] LONG lMaxNumLines);
|
|
}
|
|
|
|
// IStackWalker: interface on stackwalker objects
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(00000159-0000-0000-C000-000000000046)
|
|
]
|
|
interface IStackWalker : IUnknown
|
|
{
|
|
HRESULT Attach ([in] HANDLE hProcess);
|
|
IStackWalkerStack* CreateStackTrace ([in] LPVOID pContext, [in] HANDLE hThread, [in] DWORD dwFlags);
|
|
IStackWalkerSymbol* ResolveAddress ([in] DWORD64 dw64Addr);
|
|
}
|
|
|
|
cpp_quote("")
|
|
cpp_quote("EXTERN_C const CLSID CLSID_StackWalker;")
|
|
cpp_quote("")
|
|
|