Leaked source code of windows server 2003
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

//+-------------------------------------------------------------------------
//
// 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("")