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_ */
|
||
|
||
|