94 lines
1.3 KiB
C
94 lines
1.3 KiB
C
|
|
typedef struct _tagSTACKINFO {
|
|
STACKFRAME64 StkFrame;
|
|
DWORD FrameNum;
|
|
CHAR ProcName[MAX_PATH];
|
|
CHAR Params[MAX_PATH*3];
|
|
CHAR Context[MAX_PATH];
|
|
CHAR Module[MAX_PATH];
|
|
DWORDLONG Displacement;
|
|
ADDR ProcAddr;
|
|
CXF Cxf;
|
|
BOOL fInProlog;
|
|
} STACKINFO, *LPSTACKINFO;
|
|
|
|
#define MAX_FRAMES 1000
|
|
|
|
|
|
|
|
#if defined( NEW_WINDOWING_CODE )
|
|
|
|
LRESULT
|
|
CALLBACK
|
|
NewCalls_WindowProc(
|
|
HWND hwnd,
|
|
UINT message,
|
|
WPARAM wParam,
|
|
LPARAM lParam
|
|
);
|
|
|
|
#else
|
|
|
|
LRESULT
|
|
CALLBACK
|
|
CallsWndProc(
|
|
HWND hwnd,
|
|
UINT message,
|
|
WPARAM wParam,
|
|
LPARAM lParam
|
|
);
|
|
|
|
#endif
|
|
|
|
|
|
void
|
|
OpenCallsWindow(
|
|
int type,
|
|
LPWININFO lpWinInfo,
|
|
int Preference,
|
|
BOOL bUserActivated
|
|
);
|
|
|
|
HWND
|
|
GetCallsHWND(
|
|
VOID
|
|
);
|
|
|
|
|
|
BOOL
|
|
IsCallsInFocus(
|
|
VOID
|
|
);
|
|
|
|
LPSTR
|
|
GetLastFrameFuncName(
|
|
VOID
|
|
);
|
|
|
|
BOOL
|
|
GetCompleteStackTrace(
|
|
DWORD64 FramePointer,
|
|
DWORD64 StackPointer,
|
|
DWORD64 ProgramCounter,
|
|
LPSTACKINFO StackInfo,
|
|
LPDWORD lpdwFrames,
|
|
BOOL fQuick,
|
|
BOOL fFull
|
|
);
|
|
|
|
BOOL
|
|
GotoFrame(
|
|
int iCall,
|
|
BOOL bUserActivated
|
|
);
|
|
|
|
PCXF
|
|
ChangeFrame(
|
|
int iCall
|
|
);
|
|
|
|
BOOL
|
|
IsValidFrameNumber(
|
|
INT FrameNumber
|
|
);
|