386 lines
6 KiB
C
386 lines
6 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1990 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
winperf.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This module contains the definit
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Mark Lucovsky (markl) 28-Mar-1991
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
#ifndef _WINPERFH_INCLUDED_
|
|||
|
#define _WINPERFH_INCLUDED_
|
|||
|
|
|||
|
#define DIALOG_SUCCESS 100
|
|||
|
#define DIALOG_CANCEL 0
|
|||
|
|
|||
|
#define IDM_EXIT 1100
|
|||
|
#define IDM_SELECT 1101
|
|||
|
#define IDM_THUNK 1102
|
|||
|
#define IDM_ALL 1103
|
|||
|
#define IDM_HACK 1104
|
|||
|
#define TIMER_ID 1001
|
|||
|
#define IDM_SEL_DLG 1004
|
|||
|
#define IDM_THUNK_DLG 1005
|
|||
|
#define IDM_CALC_DLG 1006
|
|||
|
|
|||
|
#define IDM_DISPLAY_TOTAL 1106
|
|||
|
#define IDM_DISPLAY_BREAKDOWN 1107
|
|||
|
#define IDM_DISPLAY_PER_PROCESSOR 1108
|
|||
|
#define IDM_TOPMOST 1109
|
|||
|
|
|||
|
#define IDM_ACCEPT 1200
|
|||
|
|
|||
|
#define IDM_P5_GEN1 1206
|
|||
|
#define IDM_P5_R0_0 1207
|
|||
|
#define IDM_P5_R3_0 1208
|
|||
|
#define IDM_P5_K_0 1209
|
|||
|
|
|||
|
#define IDM_P5_GEN2 1210
|
|||
|
#define IDM_P5_R0_1 1211
|
|||
|
#define IDM_P5_R3_1 1212
|
|||
|
#define IDM_P5_K_1 1213
|
|||
|
|
|||
|
#define IDM_PERCENT 1214
|
|||
|
|
|||
|
#define IDM_SPIN_ACQUIRE 1250
|
|||
|
#define IDM_SPIN_COLL 1251
|
|||
|
#define IDM_SPIN_SPIN 1252
|
|||
|
#define IDM_IRQL 1253
|
|||
|
#define IDM_INT 1254
|
|||
|
|
|||
|
#define IDM_LOGIT 1260
|
|||
|
#define IDM_SCALE 1261
|
|||
|
|
|||
|
#define IDM_THUNK_LIST 1301
|
|||
|
#define IDM_THUNK_SOURCE 1302
|
|||
|
#define IDM_THUNK_IMPORT 1303
|
|||
|
#define IDM_THUNK_FUNCTION 1304
|
|||
|
#define IDM_THUNK_ADD 1305
|
|||
|
#define IDM_THUNK_REMOVE 1306
|
|||
|
#define IDM_THUNK_CLEAR_ALL 1307
|
|||
|
|
|||
|
#define IDM_CALC_TEXTA 1350
|
|||
|
#define IDM_CALC_TEXTB 1351
|
|||
|
#define IDM_CALC_FORM1 1352
|
|||
|
#define IDM_CALC_FORM2 1353
|
|||
|
#define IDM_CALC_FORM3 1354
|
|||
|
#define IDM_CALC_FORM4 1355
|
|||
|
|
|||
|
|
|||
|
#define WINPERF_ICON 1011
|
|||
|
#define CPUTHERM_ICON 1012
|
|||
|
#define BALL_BITMAP 1011
|
|||
|
|
|||
|
|
|||
|
#include "calcperf.h"
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
typedef struct _WINPERF_INFO
|
|||
|
{
|
|||
|
DWORD WindowPositionX;
|
|||
|
DWORD WindowPositionY;
|
|||
|
DWORD WindowSizeX;
|
|||
|
DWORD WindowSizeY;
|
|||
|
DWORD DisplayMode;
|
|||
|
HPEN hBluePen; // total pen
|
|||
|
HPEN hPPen[MAX_PROCESSORS];
|
|||
|
HPEN hDotPen;
|
|||
|
HBRUSH hBackground;
|
|||
|
HBRUSH hRedBrush;
|
|||
|
HBRUSH hGreenBrush;
|
|||
|
HBRUSH hBlueBrush;
|
|||
|
HBRUSH hLightBrush;
|
|||
|
HBRUSH hDarkBrush;
|
|||
|
HFONT LargeFont;
|
|||
|
HFONT MediumFont;
|
|||
|
HFONT SmallFont;
|
|||
|
HFONT hOldFont;
|
|||
|
HMENU hMenu;
|
|||
|
HWND hWndMain;
|
|||
|
UINT TimerId;
|
|||
|
UINT NumberOfProcessors;
|
|||
|
BOOL DisplayMenu;
|
|||
|
} WINPERF_INFO,*PWINPERF_INFO;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
BOOL
|
|||
|
InitApplication(
|
|||
|
HANDLE hInstance,
|
|||
|
HBRUSH hBackground
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
BOOL
|
|||
|
InitInstance(
|
|||
|
HANDLE hInstance,
|
|||
|
int nCmdShow
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
LONG APIENTRY
|
|||
|
MainWndProc(
|
|||
|
HWND hWnd,
|
|||
|
UINT message,
|
|||
|
DWORD DWORD,
|
|||
|
LONG lParam
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
LONG APIENTRY
|
|||
|
CpuWndProc(
|
|||
|
HWND hWnd,
|
|||
|
UINT message,
|
|||
|
DWORD DWORD,
|
|||
|
LONG lParam
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
BOOL
|
|||
|
APIENTRY About(
|
|||
|
HWND hDlg,
|
|||
|
unsigned message,
|
|||
|
WORD DWORD,
|
|||
|
LONG lParam
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
BOOL APIENTRY MGetWindowExt(HDC hdc, INT * pcx, INT * pcy);
|
|||
|
BOOL APIENTRY MGetCurrentPosition(HDC hdc, INT * px, INT * py);
|
|||
|
HANDLE APIENTRY MGetInstHandle(VOID);
|
|||
|
|
|||
|
LPSTR MGetCmdLine(VOID);
|
|||
|
|
|||
|
|
|||
|
VOID
|
|||
|
UpdateCpuMeter(
|
|||
|
IN HDC hDC,
|
|||
|
IN SHORT cxClient,
|
|||
|
IN SHORT cyClient
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
DrawCpuMeter(
|
|||
|
IN HDC hDC,
|
|||
|
IN SHORT cxClient,
|
|||
|
IN SHORT cyClient,
|
|||
|
IN ULONG DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
ReScalePerfWindow(
|
|||
|
IN HDC hDC,
|
|||
|
IN PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
BOOL
|
|||
|
CalcCpuTime(
|
|||
|
PDISPLAY_ITEM PerfListItem
|
|||
|
);
|
|||
|
|
|||
|
ULONG
|
|||
|
InitPerfInfo(VOID);
|
|||
|
|
|||
|
|
|||
|
VOID
|
|||
|
InitProfileData(PWINPERF_INFO pWinperfInfo);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
VOID
|
|||
|
DrawPerfWindow(
|
|||
|
IN HDC hDC,
|
|||
|
IN PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
VOID
|
|||
|
UpdatePerfWindow(
|
|||
|
IN HDC hDC,
|
|||
|
IN PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
//
|
|||
|
// change style constants
|
|||
|
//
|
|||
|
|
|||
|
#define STYLE_ENABLE_MENU WS_OVERLAPPEDWINDOW
|
|||
|
#define STYLE_DISABLE_MENU (WS_THICKFRAME+WS_BORDER)
|
|||
|
|
|||
|
|
|||
|
LONG APIENTRY
|
|||
|
DbgWndProc(
|
|||
|
HWND hWnd,
|
|||
|
UINT message,
|
|||
|
DWORD wParam,
|
|||
|
LONG lParam
|
|||
|
);
|
|||
|
|
|||
|
BOOL
|
|||
|
APIENTRY ThunkDlgProc(
|
|||
|
HWND hDlg,
|
|||
|
unsigned message,
|
|||
|
DWORD wParam,
|
|||
|
LONG lParam
|
|||
|
);
|
|||
|
|
|||
|
BOOL
|
|||
|
APIENTRY CalcDlgProc(
|
|||
|
HWND hDlg,
|
|||
|
unsigned message,
|
|||
|
DWORD wParam,
|
|||
|
LONG lParam
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
BOOLEAN
|
|||
|
FitPerfWindows(
|
|||
|
IN HWND hWnd,
|
|||
|
IN HDC hDC,
|
|||
|
IN PDISPLAY_ITEM DisplayItems
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
RefitWindows (
|
|||
|
IN HWND hWnd,
|
|||
|
IN HDC CurhDC
|
|||
|
);
|
|||
|
|
|||
|
BOOLEAN
|
|||
|
InitPerfWindowDisplay(
|
|||
|
IN HWND hWnd,
|
|||
|
IN HDC hDC,
|
|||
|
IN PDISPLAY_ITEM DisplayItems,
|
|||
|
IN ULONG NumberOfWindows
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
BOOL
|
|||
|
APIENTRY SelectDlgProc(
|
|||
|
HWND hDlg,
|
|||
|
unsigned message,
|
|||
|
DWORD wParam,
|
|||
|
LONG lParam
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
DrawFrame(
|
|||
|
HDC hDC,
|
|||
|
PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
BOOL
|
|||
|
CalcPerf(
|
|||
|
PDISPLAY_ITEM pPerf1
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
CalcDrawFrame(
|
|||
|
PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
DrawPerfText(
|
|||
|
HDC hDC,
|
|||
|
PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
DrawPerfGraph(
|
|||
|
HDC hDC,
|
|||
|
PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
BOOLEAN
|
|||
|
CreateMemoryContext(
|
|||
|
HDC hDC,
|
|||
|
PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
DeleteMemoryContext(
|
|||
|
PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
VOID
|
|||
|
ShiftPerfGraph(
|
|||
|
HDC hDC,
|
|||
|
PDISPLAY_ITEM DisplayItem
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
PDISPLAY_ITEM AllocateDisplayItem(VOID);
|
|||
|
|
|||
|
VOID
|
|||
|
SetDefaultDisplayMode (
|
|||
|
IN HWND hWnd,
|
|||
|
IN ULONG mode
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
DoCSTest(
|
|||
|
IN HWND hWnd
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
FreeDisplayItem(
|
|||
|
PDISPLAY_ITEM pPerf
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
SetP5Perf (
|
|||
|
HWND hDlg,
|
|||
|
ULONG IdCombo,
|
|||
|
ULONG p5counter
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
ClearGraph (
|
|||
|
PDISPLAY_ITEM pPerf
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
SetP5CounterEncodings (
|
|||
|
PVOID encoding
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
SetDisplayToTrue (
|
|||
|
PDISPLAY_ITEM pPerf,
|
|||
|
ULONG sort
|
|||
|
);
|
|||
|
|
|||
|
PDISPLAY_ITEM
|
|||
|
SetDisplayToFalse (
|
|||
|
PDISPLAY_ITEM pPerf
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
#endif /* _WINPERFH_INCLUDED_ */
|
|||
|
|
|||
|
|